CVE-2026-100697
Executive Summary
CVE-2026-100697 is a pre-authentication server-side request forgery (SSRF) vulnerability in Adminer versions 6.0.0 through 6.0.1 when the official ClickHouse driver plugin is loaded. An unauthenticated attacker can force the Adminer server to issue an HTTP POST request to an arbitrary internal host and read the full HTTP response body, enabling internal network reconnaissance and disclosure of sensitive information. The vulnerability carries a CVSS score of 8.6 (High) and is fixed in Adminer 6.0.2.
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.
No signup required
Technical Analysis
The vulnerability resides in the official ClickHouse driver plugin (plugins/drivers/clickhouse.php), which was rewritten in Adminer 6.0.0. Adminer is a web-based database management tool commonly deployed in front of internal database infrastructure. When the ClickHouse driver is loaded, the login page processes attacker-supplied auth[driver] and auth[server] parameters.
An unauthenticated attacker can submit auth[driver]=clickhouse along with auth[server] set to an arbitrary URL. Because the driver does not validate or restrict the target host, the Adminer server issues an HTTP POST request containing the string SELECT version() to the attacker-specified host. This is a classic SSRF (CWE-918) pattern where the vulnerable server acts as a proxy for requests that the attacker cannot otherwise make.
The information disclosure is amplified by the error-handling behavior in rootQuery(). When the target service responds with an HTTP status code outside the 200–299 range (excluding 401 and 403), the raw HTTP response body is assigned to the connection error and subsequently rendered on the Adminer login page. This means the attacker does not merely receive a blind SSRF signal — they receive the full response body of the internal service. Internal error pages frequently contain stack traces, internal hostnames, file paths, and configuration identifiers, all of which are leaked back to the unauthenticated attacker.
The attack surface is the Adminer login endpoint reachable over the network. No authentication is required (PR:N), no user interaction is needed (UI:N), and the scope is changed (S:C) because the vulnerable component impacts resources beyond its security authority — namely, internal network services. Confidentiality impact is High; integrity and availability impacts are None.
The severity is driven by the pre-authentication nature, the ability to reach internal network segments, and the verbatim disclosure of internal service responses. The rewrite of the ClickHouse driver in 6.0.0 introduced this regression, and 6.0.2 addresses it.
Exploitation Scenarios
No public PoC is available; the attack chain below is inferred from the vulnerability class and the NVD description.
Reconnaissance/target identification: The attacker locates an internet-exposed or internally reachable Adminer instance running version 6.0.0 or 6.0.1 with the ClickHouse driver plugin loaded. Public scan engines (e.g., Shodan dorks targeting Adminer login pages) can identify candidate instances. The attacker does not need valid credentials.
Triggering the flaw: The attacker crafts a request to the Adminer login endpoint with
auth[driver]=clickhouseandauth[server]set to an arbitrary internal URL — for examplehttp://127.0.0.1:18089from the NVD description. The Adminer server, acting as the SSRF proxy, issues an HTTP POST request containingSELECT version()to the specified host.Payload/execution method: Because this is SSRF, the "payload" is the attacker-controlled destination URL and the fixed query body. The attacker iterates over internal IP addresses, ports, and hostnames to map the internal network. When the target returns an HTTP status outside 200–299 (other than 401/403),
rootQuery()assigns the raw response body to the connection error, which is then rendered on the login page — returning the internal service's response verbatim to the attacker. A blind SSRF primitive becomes a full-response-read primitive.Post-exploitation impact: The attacker obtains internal network and port reconnaissance, plus the contents of internal error pages. Disclosed data may include stack traces, internal hostnames, file paths, and configuration identifiers. This information supports lateral movement planning, further exploitation of internal services, and credential or configuration discovery. No code execution or data modification is demonstrated by the description.
Impact Assessment
The CVSS v3.1 vector is CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:N/A:N, yielding a base score of 8.6 (High). The subscores break down as follows: Network attack vector means the flaw is exploitable remotely; Low attack complexity indicates no special conditions are required; No privileges required and No user interaction confirm the pre-authentication, unattended nature; Changed scope reflects that exploitation affects resources beyond Adminer itself (internal services); High confidentiality impact reflects verbatim disclosure of internal response bodies; and None integrity/availability impact reflects that the flaw does not modify or deny service.
Business impact includes exposure of internal network topology, internal hostnames and IP addresses, file paths, and configuration identifiers. In environments where Adminer is deployed as a management gateway to production databases, this reconnaissance can materially accelerate follow-on attacks against internal ClickHouse or other back-end services. The blast radius extends to any service reachable from the Adminer host, including loopback-only services, since the SSRF is server-side. Because exploitation is pre-authentication and requires only network access to the Adminer login endpoint, the population of exposed instances is directly at risk.
Detection Guidance
Sigma Rule
title: Adminer ClickHouse Driver SSRF Exploitation Attempt
id: 7f3a9c21-4b8e-4d2a-9c11-6e2f0a5b8d44
status: experimental
description: Detects pre-authentication SSRF attempts against Adminer 6.0.0-6.0.1 via the ClickHouse driver plugin using attacker-controlled auth[server] values.
references:
- https://nvd.nist.gov/vuln/detail/CVE-2026-100697
author: valtersit.com
date: 2026/01/01
logsource:
category: webserver
detection:
selection_driver:
cs-uri-query|contains: 'auth[driver]=clickhouse'
selection_server:
cs-uri-query|contains: 'auth[server]='
selection_external:
cs-uri-query|re: 'auth\[server\]=https?%3A%2F%2F(?!localhost|127\.0\.0\.1)[^&]+'
condition: selection_driver and selection_server and selection_external
fields:
- c-ip
- cs-uri-query
- cs-method
falsepositives:
- Legitimate administrators configuring a remote ClickHouse server
level: high
tags:
- attack.t1190
- cve.2026.100697
YARA Rule
rule CVE_2026_100697_Adminer_ClickHouse_SSRF
{
meta:
description = "Detects Adminer ClickHouse SSRF exploitation artifacts (auth[driver]=clickhouse with attacker-controlled auth[server])"
author = "valtersit.com"
reference = "https://nvd.nist.gov/vuln/detail/CVE-2026-100697"
date = "2026-01-01"
severity = "high"
strings:
$drv = "auth[driver]=clickhouse" ascii wide nocase
$srv = "auth[server]=" ascii wide nocase
$q = "SELECT version()" ascii wide nocase
$p1 = "127.0.0.1:18089" ascii wide
$p2 = "http://127.0.0.1" ascii wide nocase
condition:
(uint16(0) == 0x3C3F or uint16(0) == 0x0A0A or $drv) and
$drv and $srv and ($q or $p1 or $p2)
}
Suricata IDS Rule
alert http any any -> any any (msg:"CVE-2026-100697 Adminer ClickHouse Driver SSRF Attempt"; flow:established,to_server; http.method; content:"GET"; http.uri; content:"auth[driver]=clickhouse"; http.uri; content:"auth[server]="; http.uri; pcre:"/auth\[server\]=https?%3A%2F%2F(?!localhost|127\.0\.0\.1)/Ui"; reference:cve,2026-100697; reference:url,nvd.nist.gov/vuln/detail/CVE-2026-100697; classtype:web-application-attack; sid:2026100697; rev:1;)
Elastic Detection
sequence by source.ip with maxspan=5m
[ network where http.request.method == "POST" and
url.query contains "auth[driver]=clickhouse" ]
[ network where http.request.method == "POST" and
url.query contains "auth[server]=" and
not url.query rlike "auth\\[server\\]=https?%3A%2F%2F(localhost|127\\.0\\.0\\.1)" ]
Splunk SPL Query
index=web sourcetype=access_combined OR sourcetype=nginx:plus:access
| search uri_query="*auth[driver]=clickhouse*" uri_query="*auth[server]=*"
| rex field=uri_query "auth\[server\]=(?<target>https?%3A%2F%2F[^&]+)"
| where NOT match(target, "https?%3A%2F%2F(localhost|127\.0\.0\.1)")
| stats count min(_time) as first_seen max(_time) as last_seen values(target) as targets by src_ip, uri_path
| sort - count
Wazuh OSSEC Rule
<group name="web,adminer,cve-2026-100697,">
<rule id="2026100697" level="12">
<decoded_as>web-accesslog</decoded_as>
<url contains="auth[driver]=clickhouse">auth[driver]=clickhouse</url>
<url contains="auth[server]=">auth[server]=</url>
<description>CVE-2026-100697: Adminer ClickHouse driver SSRF attempt detected (auth[server] set to arbitrary URL)</description>
<mitre>
<id>T1190</id>
</mitre>
<group>cve_2026_100697,ssrf,</group>
</rule>
</group>
Mitigation & Patch Guidance
Patch confidence: 0/4 (UNPATCHED — no patch evidence from any tracked source).
Immediate mitigations:
- Upgrade to Adminer 6.0.2, which the NVD description states fixes the issue.
- If upgrade is not immediately possible, remove or disable the ClickHouse driver plugin (
plugins/drivers/clickhouse.php) so the vulnerable code path is not reachable. - Restrict network access to the Adminer login endpoint to trusted administrative networks only; do not expose Adminer directly to the internet.
- Apply egress filtering from the Adminer host to prevent outbound requests to internal/loopback addresses not required for legitimate operation.
Patch/upgrade steps:
- Identify all Adminer deployments running 6.0.0 or 6.0.1 with the ClickHouse driver loaded.
- Upgrade to Adminer 6.0.2 and re-verify plugin loading configuration.
- Confirm the upgrade in your software inventory and CI/CD artifact records.
Long-term hardening:
- Enforce allowlist-based destination validation for any user-configurable server/host parameters in database management tools.
- Deploy Adminer behind an authenticated reverse proxy where feasible.
- Never render raw upstream response bodies as connection error messages on unauthenticated pages.
- Monitor egress from management hosts for unusual outbound HTTP POST traffic.
References
- NVD: https://nvd.nist.gov/vuln/detail/CVE-2026-100697
- CWE-918 Server-Side Request Forgery: https://cwe.mitre.org/data/definitions/918.html
- Adminer project: https://www.adminer.org/
- MITRE ATT&CK T1190 — Exploit Public-Facing Application: https://attack.mitre.org/techniques/T1190/
- CISA KEV catalog: Not listed for CVE-2026-100697 as of this report.
No known threat actor campaigns or exploit-in-the-wild evidence were identified for CVE-2026-100697 at the time of writing. No public PoC, Nuclei template, or exploit code is available.
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.