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

CVE-2026-56706

CVE-2026-56706 Cross-Site Request Forgery in Adminer
📅 PUBLISHED: 2026-08-25 00:00 UTC 🔄 UPDATED: 2026-10-02 19:33 UTC
[ PATCH UNDER REVIEW ↓ ] Remains UNDER REVIEW until an independent source confirms the fix
[ DEFENSE PATCH ↓ ]
💣 PoC: None
👁️
Proof of Concept - Indicates if functional exploit code is publicly available, drastically increasing the risk of immediate attacks.
🎯 EPSS: 0.41%
👁️
0.41% probability
10.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.
VULNERABLE: version not auto-detected — verify your deployed version locally
CVSS VECTOR BREAKDOWN 6.8
AV: N Attack Vector Network
AC: H Attack Complexity High
PR: N Privileges Required None
UI: R User Interaction Required
S: U Scope Unchanged
C: N Confidentiality None
I: H Integrity High
A: H Availability High
6.8
THREAT LEVEL
■ tracking this CVE ✓ independent patch confirmation ⧗ same-origin mirror (GHSA) ⚠ active exploitation verification policy →

Executive Summary

CVE-2026-56706 is a critical cryptographic design flaw in the CSRF token mechanism of Adminer, the popular single-file database administration tool, affecting all versions prior to 5.4.3. The vulnerability stems from a token scheme in which each CSRF token is transmitted as the pair (rand XOR secret):rand — meaning the session secret is mathematically recoverable by anyone who observes a single token. An attacker who obtains one token (via network sniffing, log files, HTTP Referrer header leakage, or XSS) can derive the ~20-bit session secret with a single XOR operation and forge unlimited valid tokens, enabling cross-site request forgery against authenticated Adminer sessions, including arbitrary SQL execution against the connected database. The public-facing nature of Adminer instances and its common deployment in admin panels or developer workbenches elevates the real-world exposure, despite a slightly elevated attack complexity stemming from the requirement to first obtain a valid token.

⚡ 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

The vulnerability class is CSRF token design weakness (CWE-330: Use of Insufficiently Random Values). The NVD description indicates that Adminer's token generation algorithm constructs a token using the format (rand XOR secret):rand. In this format, the token transmits both the masked value (rand XOR secret) and the raw random value (rand) simultaneously. This design guarantees that anyone who observes a single token can perform a simple XOR operation — (rand XOR secret) XOR rand = secret — to recover the full session secret.

The weakness is compounded by three supplementary flaws:

  1. Low entropy session token: The random component rand(1,1e6) provides only ~20 bits of entropy. This small keyspace makes the secret practically brute-forceable even in the absence of a token leak, as an attacker could enumerate all ~1,000,000 possible secret values and test them against token-verification endpoints.

  2. Loose comparison (==) in verification: The token verification routine uses PHP loose comparison. In PHP, == performs type juggling, enabling edge cases such as "0e123456" == 0 evaluating as true due to the string being interpreted in scientific notation as 0 * 10^123456. This introduces the possibility of crafting tokens that bypass verification without possessing the correct secret.

  3. Token transmission over multiple potential leak channels: Since tokens are transmitted as clear-text parameters, they may be captured via (a) network sniffing on unencrypted HTTP, (b) server access/error logs, (c) HTTP Referrer headers when Adminer embeds links to external resources, or (d) cross-site scripting vulnerabilities in the same origin or via DOM-based exfiltration.

Affected components: The session token generation and CSRF verification routines inside Adminer's session handling layer. The NVD description does not name specific functions, classes, or file paths; the attack surface is the HTTP endpoints accepting CSRF-protected requests — typically forms for login, database connection, or SQL query submission.

Attack surface: Any deployed Adminer instance (5.4.3 and below). Adminer is a standalone PHP file commonly placed in web roots, often in production environments, dev sandboxes, or exposed admin panels. The CSRF token must be included in state-changing HTTP requests (POST or GET parameters) for actions like executing SQL, creating users, or modifying schema. The attacker's require: victim has an authenticated/active Adminer session and visits a malicious page while authenticated.


Exploitation Scenarios

Prerequisites: The victim must have an active Adminer session (authenticated via database credentials stored in session), and must visit attacker-controlled content (or navigate to a page with attacker-influenced HTTP headers) while that session is alive. The attacker must obtain at least one CSRF token value.

Attack chain:

  1. Reconnaissance / Target Identification: The attacker identifies a target Adminer instance — either via Shodan/Censys fingerprinting (title:"Adminer", default header responses) or by scanning an organization's public IP ranges for /adminer.php, /adminer/, /dbadmin/, or similar paths. The attacker checks the version via the footer or login page (Adminer displays version in the page footer on default template).

  2. Token Acquisition: If the target runs plain HTTP, the attacker passively sniffs traffic to capture a CSRF token ((rand XOR secret):rand). If the target is behind HTTPS, the attacker may attempt to retrieve a token via (a) leaking the Referer header from Adminer pages that load external resources, (b) waiting for the target's logs to be exposed, or (c) executing a stored or reflective XSS in the same origin (if any auxiliary flaw exists within Adminer or co-hosted applications). In a cross-site scenario, the attacker can also load the Adminer page in a hidden iframe — Adminer renders tokens in DOM and cross-origin reads are blocked, but if the adminer instance allows same-site framing without X-Frame-Options, certain token leaks via window.name or postMessage are theoretically possible, though the NVD description primarily points to sniffing, logs, Referrer, and XSS.

  3. Secret Recovery & Token Forging: With one captured token in format MASKED:rand, the attacker computes secret = MASKED XOR rand. Since the secret is only ~20 bits, even without a captured token the attacker could brute-force the secret by testing generated tokens against the login/CSRF-check endpoint (e.g., submitting requests with guessed tokens and observing validation failures/successes). With the secret recovered, the attacker can forge valid tokens for any subsequent request.

  4. Exploitation — CSRF with Forged Tokens: The attacker crafts a malicious web page (or email) that, when visited by the authenticated Adminer user, auto-submits a forged request to the Adminer instance containing: (a) a valid forged CSRF token, (b) a SQL query body targeting the connected database (e.g., SELECT ... INTO OUTFILE, INSERT of a backdoor, DROP TABLE, or GRANT of superuser privileges). Because Adminer has no re-authentication for SQL execution (credential is stored in session), the forged request executes with full privileges of the database account the victim used to log in.

  5. Post-Exploitation: If the connected database account has FILE privilege, the attacker can write a webshell to the web root of the server hosting Adminer, leading to full server compromise. Even without FILE privilege, the attacker can exfiltrate all database contents, modporate user credentials, or pivot to other services.

No public PoC is currently available; the attack chain is inferred from the vulnerability class and the described token scheme. The degree of difficulty lies in token acquisition, but the extremely low entropy (~20 bits) allows brute-force of the secret, effectively making the CSRF protection bypass trivial for an attacker with network access to the Adminer endpoint.


Impact Assessment

CVSS Score: 6.8 (Medium-High) — CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:H/A:H

Sub-score Value Interpretation
Attack Vector (AV) Network Exploitable remotely over the network
Attack Complexity (AC) High Requires token acquisition or brute-force (~20-bit space)
Privileges Required (PR) None No pre-auth necessary
User Interaction (UI) Required Victim must visit malicious page / be authenticated
Scope (S) Unchanged Only the Adminer instance / its data impacted
Confidentiality (C) None The flaw does not directly leak data (token leak is a precondition)
Integrity (I) High Arbitrary SQL execution → full data modification
Availability (A) High DROP/TRUNCATE against connected database

Business Impact:

  • Data compromise: An attacker executing arbitrary SQL can modify or destroy the entire database schema managed through Adminer.
  • Server takeover: With FILE privilege in MySQL/MariaDB (INTO OUTFILE), the attacker can drop a webshell into the web root and obtain RCE on the underlying application server.
  • Compliance/reputational damage: If the database contains PII, the breach escalates to a reportable data incident (GDPR Article 33 notification, HIPAA, PCI DSS, etc.).

Blast radius: The affected database and any services that depend on it. If Adminer is deployed on a jumpbox or a central DB management host, the blast radius extends to all connected database servers. Due to the restore of the session secret, every subsequent CSRF check is bypassable — the attacker gains a persistent token-forging capability valid for the lifetime of the session (Adminer sessions normally have a generous timeout, and no re-login is needed).

Threat landscape: Adminer instances historically attract opportunistic scans (default install paths), automated credential brute-force, and targeted attackers seeking data. This flaw effectively removes the CSRF protection layer, converting a purely social-engineering-required attack into one also achievable via network observation or short brute-force.


Detection Guidance

Sigma Rule

title: Adminer CSRF Token Secret Recovery - HTTP Sniffing Pattern
id: 34991b3n-XXXX-42ab-9d03-4f0e1b2a3c4d
status: experimental
description: Detects CSRF token leakage in HTTP request logs where a token pattern matching Adminer format (hex:hex or decimal:decimal) appears in Referrer headers or query parameters for POST requests to Adminer endpoints.
author: Valtersit Threat Intelligence
date: 2026/01/01
logsource:
  category: webserver
  product: apache
  detection:
    selection:
      http.url|contains:
        - 'adminer.php'
        - '/adminer/'
      http.method: 'POST'
      http.referrer|re: 'adminer\.php|/adminer/'
    filter:
      http.reason: 'OK'
    condition: selection and not filter
  level: high
  falsepositives:
    - Legitimate Adminer usage (user tool is a false positive source)
    - Referrer leakage from same-origin to CDN resources
  tags:
    - cve.2026-56706
    - cwe.330
    - attack.t1190

YARA Rule

rule adminer_csrf_token_leak_2026_56706 {
    meta:
        author = "Valtersit Threat Intelligence"
        description = "Detects Adminer CSRF token format (RAND XOR SECRET):RAND in HTTP dumps, logs, or traffic captures"
        date = "2026-01-01"
        reference = "CVE-2026-56706"
        severity = "high"
    strings:
        $token_pattern = /[0-9]{1,7}:[0-9]{1,7}/   // low entropy for rand(1,1e6)
        $adminer_path = "adminer"
        $php_session = "SID"
    condition:
        uint16(0) == 0x0A0D and            // HTTP log line (CRLF)
        filesize < 10MB and
        #token_pattern >= 1 and
        ($adminer_path in (0..filesize) or $php_session in (0..filesize))
}

Suricata IDS Rule

alert http any any -> any any (msg:"CVE-2026-56706 Adminer CSRF token weak scheme - suspected secret recovery attempt"; flow:established,to_server; http.method; content:"POST"; http.uri; content:"adminer"; http.client_body; pcre:"/[0-9]{1,7}:[0-9]{1,7}/"; classtype:attempted-admin; sid:20260001; rev:1; metadata:created_at 2026_01_01, updated_at 2026_01_01, cve CVE-2026-56706;)

Note: Additional rule variant to detect brute-force of the ~20-bit secret — flag high request rates to adminer URI containing rapidly varying rand values:

alert http any any -> any any (msg:"CVE-2026-56706 Adminer CSRF token brute-force"; flow:established,to_server; http.method; content:"GET"; http.uri; content:"adminer"; http.uri; pcre:"/(rand|token)=[0-9]{1,7}:[0-9]{1,7}/"; threshold: type both, track by_src, count 30, seconds 60; classtype:attempted-admin; sid:20260002; rev:1; metadata:cve CVE-2026-56706;)

Elastic Detection

sequence by host.name with maxspan=30s
  [ network where process.name == "php-fpm" and destination.port == 443 and
     http.request.method == "POST" and
     url.path like "*adminer*" ]
  [ network where process.name == "php-fpm" and destination.port == 443 and
     http.request.method == "GET" and
     url.path like "*adminer*" and
     http.request.body_bytes > 50 ]

Alternatively, an EQL rule for token-baring POSTs with high frequency:

any where
  network.protocol == "http" and
  http.request.method == "POST" and
  url.path like "*adminer*" and
  http.request.body like "*:*" and
  ( wildcard(http.request.body, "?????????????????", "*") )

Splunk SPL Query

index=web sourcetype=apache:access OR sourcetype=nginx:access
| where like(uri, "%adminer%")
| regex _raw = "\d{1,7}:\d{1,7}"
| stats count by clientip, uri, method
| where count > 50
| rename clientip as PossibleCSRFForgeSource

Wazuh OSSEC Rule

<rule id="100206" level="15">
  <decoded>apache-accesslog</decoded>
  <field name="url">\.php</field>
  <regex>adminer.*(\d{1,7}:\d{1,7})</regex>
  <description>CVE-2026-56706 Adminer CSRF token leaked in request (token pattern observed in URL/body)</description>
  <group>authentication_failures,attack,web_attack,</group>
  <mitre>
    <id>T1190</id>
  </mitre>
</rule>

Mitigation & Patch Guidance

Patch Confidence: 0/4 — UNPATCHED

No vendor patch or security advisory has been identified from any tracked source. The fixed version is indicated as 5.4.3 in the CVE metadata (i.e., the flaw is resolved in Adminer >= 5.4.3), but at the time of this report no official release notes or advisory confirming that version resolves the issue have been published or tracked. The absence of patch evidence means we cannot confirm the availability of a security release.

Immediate Mitigations (until a verified patched release is available):

  1. Disable remote access: Restrict access to Adminer to trusted management networks only, via firewall allow rules (e.g., only from a bastion host or specific admin CIDRs). This removes the network-attack vector, as token sniffing requires network-level access.
  2. Force HTTPS/TLS: Serve Adminer exclusively over HTTPS to prevent passive network sniffing of tokens. Mandate HSTS and ensure no HTTP fallback.
  3. Remove from web root: If Adminer is not in active daily use, delete the PHP file from the document root entirely. Deploy on-demand only (e.g., mount a volume, use a restricted path, or run via Docker container on demand).
  4. Session hardening in PHP config: Set session.cookie_secure = 1, session.cookie_httponly = 1, and a short session.gc_maxlifetime (e.g., 600 seconds) to reduce the session window an attacker can exploit.
  5. Log analysis: Monitor web logs for the token pattern (\d{1,7}:\d{1,7}) in POST bodies or Referrer headers — indicative of token leakage — and for a high rate of requests carrying such patterns (potential brute-force).

Patch/Upgrade Steps:

  • Monitor the official Adminer release channel (https://www.adminer.org/) for version 5.4.3 or later.
  • When a patched version is confirmed, upgrade via composer require adminer/adminer or by downloading the single-file adminer.php, replacing the existing file. Backup the existing configuration and verify database connectivity after upgrade.
  • Until then, treat all Adminer versions as affected.

Long-Term Hardening:

  • Zero-trust posture: If public database management is needed, put Adminer behind a bastion / identity-aware proxy (e.g., OAuth2-proxy, Authelia) with MFA, rather than relying on the application's own login.
  • Database privilege minimization: Restrict the account used for Adminer login to least privilege (SELECT/INSERT/UPDATE/DELETE on required schemas only; no DDL, no FILE, no SUPER). The NVD description specifically mentions arbitrary SQL execution — the DB account privileges directly bound the blast radius.
  • Network segmentation: Never deploy Adminer on the same virtual host as internet-facing applications with default paths (/adminer.php).
  • Runtime protections: Deploy a WAF rule to block requests containing token patterns (\d{1,7}:\d{1,7}) to adminer paths from off-network IP ranges.

References

  1. NVD Entry — CVE-2026-56706: https://nvd.nist.gov/vuln/detail/CVE-2026-56706
  2. Adminer Official Site — https://www.adminer.org/ (monitor for 5.4.3 release announcement)
  3. CWE-330 — Use of Insufficiently Random Values: https://cwe.mitre.org/data/definitions/330.html
  4. MITRE ATT&CK — T1190: Exploit Public-Facing Application: https://attack.mitre.org/techniques/T1190/
  5. CISA Known Exploited Vulnerabilities (KEV): CVE-2026-56706 is NOT listed in KEV at time of writing — no evidence of active exploitation.

Threat Actor Campaigns: No public reports exist of active exploitation or in-the-wild campaigns targeting this vulnerability at the time of this report. The CVE is newly published; attackers historically target Adminer en masse upon disclosure, and the low-entropy token flaw enables off-the-shelf CSRF bypass, so elevated exploitation activity is anticipated. Security teams should treat any exposed Adminer instance as high-risk and monitor for anomalous SQL activity in the connected databases.

👁️ 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.

title:"Adminer"
http.title:"Adminer"
product:"Adminer" OR server:"Adminer"
◈ SOURCE Analysis & enrichment: valtersit.com/cve/CVE-2026-56706/ · 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.