☠️
EXFILTRATING
DATA...
01010111 10110010 00101001 11000110 01101100 10011011 00010001 11100101 01000010 10101111
[ <-- BACK_TO_SEARCH ]
Emlog logo [ WEBSITE ] [ VENDOR STATS ]
SOON 🐛 CWE-89
👁️
Common Weakness Enumeration - Identifies the specific category of software weakness or flaw.

CVE-2026-73850

CVE-2026-73850 SQL Injection in Emlog
📅 PUBLISHED: 2026-08-14 00:00 UTC 🔄 UPDATED: 2026-08-16 22:34 UTC
⏳ SCORE PENDING — ANALYSIS IN PROGRESS [ 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.7× 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.
Country: China License: Open Source
VULNERABLE: <= 2.6.20
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
SOON
PENDING NVD
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-73850 is an unpatched SQL injection vulnerability in Emlog, an open source website building system (CMS). All installations of Emlog version 2.6.20 and earlier are affected, and the flaw resides in the queryDatabase function within the ai.php script, which is reachable by unauthenticated or low-privileged remote attackers over HTTP. Successful exploitation permits an attacker to execute arbitrary SQL statements against the underlying database, leading to data exfiltration, credential theft, and potential horizontal compromise of other CMS administrative functions. At the time of writing, no CVSS score has been assigned (N/A), the CISA KEV catalog does not list this CVE, and no vendor patch or public exploit artifacts have been observed; the EPSS score of 0.00269 (19.1% percentile) indicates a currently low but non-zero probability of exploitation in the wild.

⚡ 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

Technical Analysis

Emlog is a lightweight PHP-based website building system used primarily for personal blogs and small-to-medium content sites. The NVD description identifies the vulnerable component as the queryDatabase function inside the ai.php script. SQL injection of the class described (CWE-89) occurs when application-controlled input is concatenated into a SQL statement without sufficient sanitization, parameterization, or escaping, and the resulting query is then executed against the backend database.

The attack surface is the publicly exposed ai.php endpoint. In the Emlog architecture, PHP entry scripts such as ai.php are directly reachable via HTTP and typically handle request parameters supplied through GET/POST, cookies, or HTTP headers. Because queryDatabase performs the actual database interaction, the injection point can be assumed to be within the flow of data from HTTP request parameters into that function. The NVD description is sparse: it does not disclose the exact parameter name, HTTP method, or authentication requirement. Therefore, the only implementation details that can be asserted with confidence are the presence of the vulnerable file (ai.php) and function (queryDatabase), and the injection class (SQL injection). Additional specifics — such as the exact SQL query structure or input filtering in place — are not available in the provided data.

The absence of a patch (confidence 0/4, no tracked vendor advisory, no fixed version, OSV package state "0→unfixed") means the vulnerable code path remains intact in all supported versions up to and including 2.6.20. Given that no version with a fix has been published, any Emlog instance in this range is exposed if ai.php is reachable from the network.

Exploitation Scenarios

No public proof-of-concept, Nuclei template, or exploit code is currently available. The attack chain below is therefore inferred strictly from the vulnerability class (SQL injection) and the disclosed file/function context, and should be treated as a class-level assessment rather than a verified payload sequence.

  1. Reconnaissance / target identification: An attacker fingerprints Internet-facing Emlog instances using search-engine dorks such as http.title:"Emlog" or by probing known Emlog paths and templates. Shodan and similar services can be used to enumerate hosts running Emlog version 2.6.20 or earlier. The attacker then verifies that ai.php is present and returns an HTTP response, confirming the attack surface.

  2. Flaw triggering: The attacker sends a crafted HTTP request to the victim's ai.php endpoint. Request parameters (GET query string or POST body — the exact parameter names are not disclosed) are submitted to the script and subsequently reach the queryDatabase function. Because the vulnerable query is constructed without binding parameters, an embedded SQL payload becomes part of the executed statement rather than being treated as inert data.

  3. Payload / execution method: At the vulnerability-class level, the attacker can use standard SQL injection techniques — Union-based injection (UNION SELECT ...), boolean-based blind inference (AND 1=1 / AND 1=2), or time-based blind injection (SLEEP(n)) — to interact with the database.

    • Union-based payloads can directly extract database names, table names, column names, and row data.
    • Boolean/time-based blind payloads allow row-by-row enumeration when output is not reflected in the HTTP response body. Because the specific database engine (e.g., MySQL, PostgreSQL) is not disclosed in the NVD data, payload syntax must be adjusted by the attacker based on banner/fingerprint results.
  4. Post-exploitation impact: With successful SQL execution, the attacker can dump emlog_users credentials hashes / password-related data, retrieve administrative session tokens, modify site content stored in the database, or reset administrator passwords to gain authenticated access to the CMS backend. If the database account used by the application has elevated privileges (e.g., FILE privilege in MySQL), writing web shells to disk and achieving Remote Code Execution (RCE) is theoretically possible — though this is an opportunistic outcome, not a guaranteed consequence of CVE-2026-73850.

Note: No public PoC exists; the attack chain above is inferred from the vulnerability class and the disclosed vulnerable artifact (ai.php / queryDatabase).

Impact Assessment

The primary impact of CVE-2026-73850 is a breach of confidentiality and integrity of the Emlog-managed database. An attacker who successfully exploits the flaw obtains the same level of data access as the database user bound to the application. This typically includes:

  • User account tables, password hashes, and personal data of registered site users.
  • Stored content, drafts, and configuration data that could enable site defacement or further phishing.
  • Potentially, if the database user is highly privileged, file-system or operating-system access.

Affected systems: All Emlog deployments running version 2.6.20 and earlier. The Affected Versions: [] entry in the provided intelligence data is an artifact of incomplete CVE enrichment on the OSV side rather than an indication that no versions are affected; the NVD description explicitly states "2.6.20 and earlier." Public-facing instances are most at risk because ai.php is an HTTP-reachable PHP script.

Blast radius: Moderate to high depending on deployment. A single exploited blog can yield credentials reused on other systems, and defacement can damage the operator's brand reputation. The lack of a patch means every installation remains vulnerable indefinitely until a fixed release appears.

CVSS / risk scoring: The CVSS score and vector are officially N/A — no Common Vulnerability Scoring System assessment has been published by the CNA or NVD. This prevents quantitative comparison with other CVEs. The EPSS probability score of 0.00269 (19.1st percentile of all scored CVEs) signals low current exploit likelihood; however, EPSS reflects known exploitation activity and does not account for latent, unreported attacks. CISA KEV does not include this CVE, and there is no evidence of in-the-wild exploits or threat-actor campaigns at the time of writing.

Detection Guidance

The following detection artifacts target exploitation of CVE-2026-73850: anomalous HTTP requests to ai.php containing SQL control characters and keywords. They are intended as starting points for SOC teams and must be tuned to local logging schemas and baseline traffic.

Sigma Rule

title: Emlog ai.php SQL Injection Attempt (CVE-2026-73850)
id: 4f1a8e52-7385-4c50-9a11-8e7f3a2c9b01
status: experimental
description: Detects SQL injection payloads in HTTP requests directed at Emlog ai.php, associated with CVE-2026-73850 (queryDatabase SQLi).
references:
    - https://nvd.nist.gov/vuln/detail/CVE-2026-73850
tags:
    - attack.initial-access
    - attack.t1190
    - cve.2026-73850
logsource:
    category: webserver
    product: generic
detection:
    selection_path:
        cs-uri-path|contains: ai.php
    selection_payload:
        cs-uri-query|contains:
            - 'union select'
            - 'union%20select'
            - 'union all select'
            - "sleep("
            - 'waitfor delay'
            - 'extractvalue('
            - "' or 1=1"
            - "' OR '1'='1"
            - 'information_schema'
            - 'concat('
    condition: selection_path and selection_payload
falsepositives:
    - Legitimate security scanners
    - Applications featuring the literal string "sleep(" in query parameters
level: high

YARA Rule

rule Emlog_ai_php_SQLi_CVE_2026_73850
{
    meta:
        author = "valtersit.com"
        description = "Detects Emlog ai.php source files or captured HTTP flows referencing the vulnerable queryDatabase sink with SQLi indicators (CVE-2026-73850)."
        cve = "CVE-2026-73850"
        date = "2026-01-01"
        severity = "high"
    strings:
        $s_file = "ai.php"
        $s_func = "queryDatabase"
        $s_union = "union select" nocase
        $s_sleep = "sleep(" nocase
        $s_bench = "benchmark(" nocase
        $s_hex = "0x" ascii
        $s_fallback = "information_schema" nocase
    condition:
        $s_func and $s_file and 1 of ($s_union, $s_sleep, $s_bench, $s_hex, $s_fallback)
}

Suricata IDS Rule

alert http any any -> $HOME_NET any (msg:"ET EXPLOIT Emlog ai.php SQL Injection Attempt (CVE-2026-73850)"; flow:established,to_server; http.uri; content:"ai.php"; nocase; http.uri; pcre:"/(?i)(union[%20+\t]+select|sleep\s*\(|waitfor[%20+\t]+delay|extractvalue\s*\(|information_schema)/"; classtype:web-application-attack; reference:cve,2026-73850; sid:7385001; rev:1;)

Elastic Detection

network where @timestamp > now() - 7d
    and network.protocol == "http"
    and url.path like "*ai.php*"
    and (
        url.query like "*union select*"
        or url.query like "*union%20select*"
        or url.query like "*sleep(*"
        or url.query like "*waitfor delay*"
        or url.query like "*extractvalue(*"
        or url.query like "*information_schema*"
        or url.query like "*' or 1=1*"
    )

Splunk SPL Query

index=web* sourcetype=access_combined uri_path=*ai.php*
| where match(uri_query,"(?i)(union[%20+]*select|sleep\\s*\\(|waitfor[%20+]*delay|extractvalue\\s*\\(|information_schema|'\\s*or[%20+]*1=1)")
| stats count min(_time) as first_seen max(_time) as last_seen by src_ip, uri_path
| where count > 0
| sort - count

Wazuh OSSEC Rule

<group name="web, sql_injection, cve_2026_73850,">
  <rule id="100738" level="10">
    <if_sid>31100</if_sid>
    <match>ai\.php</match>
    <regex>(?i)(union\s+select|sleep\s*\(|waitfor\s+delay|extractvalue\s*\(|information_schema|\x27\s*or\s+1=1)</regex>
    <description>Possible Emlog ai.php SQL injection attempt targeting CVE-2026-73850 (queryDatabase)</description>
    <group>attack.initial_access,t1190,</group>
    <mitre>
      <id>T1190</id>
    </mitre>
  </rule>
</group>

Mitigation & Patch Guidance

Patch confidence: 0/4 — UNPATCHED. No patch evidence exists from any tracked source, no vendor advisory has been published, and no fixed version of Emlog has been released. The OSV package status is 0→unfixed, confirming that remediation must be compensatory until upstream resolves the issue.

  1. Immediate mitigations (compensating controls):

    • Block or restrict HTTP access to ai.php at the web-server level (e.g., deny rules in Nginx/Apache) if the script is not required for normal site operation, or restrict it to trusted administrative IP ranges.
    • Deploy a Web Application Firewall (WAF) with an SQL injection signature set, configured to inspect both the URI and body of requests containing ai.php.
    • Apply network-level segmentation to prevent the CMS tier from reaching arbitrary hosts, limiting the blast radius of a database-only compromise.
    • Enforce least-privilege for the database account used by the application: revoke FILE, SUPER, and GRANT privileges if they are not strictly required.
  2. Patch/upgrade steps:

    • No patched version exists. Monitor the official Emlog release channel and the CVE record for announcements of a fixed version.
    • When a patched release is published, upgrade all affected installations (2.6.20 and earlier) promptly and test against the production data set.
    • If a vendor workaround or hotfix is released, apply it with the same urgency as a full patch.
  3. Long-term hardening:

    • Replace dynamic SQL construction in queryDatabase (and all other database functions) with parameterized queries / prepared statements; enforce this via code review and static analysis in the project's CI pipeline.
    • Introduce robust input validation and allow-listing for every request parameter handled by ai.php.
    • Maintain a current software inventory of all Emlog deployments, including version numbers and exposed PHP scripts, to accelerate future patch waves.
    • Add web-server logging of full URI and query strings to enable retroactive detection of attempted exploitation, and route these logs to the SIEM.
    • Subscribe to CVE and EPSS feeds to track the evolution of CVE-2026-73850 exploitation probability; revisit risk posture if public exploit code or in-the-wild activity appears.

References

Threat-actor activity / exploitation-in-the-wild: No known threat-actor campaigns or confirmed in-the-wild exploitation have been reported for CVE-2026-73850 as of the time of writing. The CISA KEV catalog does not include this CVE, and no PoC or exploit code is publicly available. The EPSS score of 0.00269 (19.1% percentile) reflects this low observed activity, but the absence of a patch makes continued monitoring mandatory.

👁️ SHODAN DORKS (THREAT HUNTING)

What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.

http.title:"Emlog"
http.html:"content="Emlog"
http.html:"emlog" "login"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-73850/ · 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.