Authentication Bypass in Apache Tomcat Digest Authentication
CVE-2026-43512 is an authentication bypass vulnerability in Apache Tomcat's DIGEST authentication mechanism. According to the provided advisory context, the flaw can cause the Digest authenticator to authenticate an unknown user if the password value "null" is presented. Affected versions include Apache Tomcat 11.0.0-M1 through 11.0.21, 10.1.0-M1 through 10.1.54, 9.0.0.M1 through 9.0.117, 8.5.0 through 8.5.100, and 7.0.0 through 7.0.109; older unsupported versions may also be affected. The issue is described as an authentication bypass in digest authentication and was later marked deprecated in the supplied record, but the provided content still identifies the vulnerable component and affected version ranges.
Are you exposed to this one?
Mallory correlates every CVE against your assets, your vendors, and active adversary campaigns. Know which vulnerabilities matter for you, not just which ones are loud.
Impact, mitigation & remediation
What it means. What to do now. Patch path, mitigations, and the assume-compromise checklist.
Impact
What an attacker gets, and what they’ve been doing with it.
Mitigation
If you can’t patch tonight, do this now.
Remediation
Patch, then assume compromise.
Exploits
1 valid exploit after Mallory filtered fakes, detection scripts, and README-only repos.
This repository is a standalone proof-of-concept and lab environment for CVE-2026-43512, an Apache Tomcat DIGEST authentication issue. The main exploit logic is in exploit/exploit.go, a Go program that performs a two-step HTTP interaction: it first sends an unauthenticated GET to a protected resource to collect one or more WWW-Authenticate: Digest challenges, then parses the challenge, prefers MD5 when multiple algorithms are offered, and constructs a crafted Authorization: Digest header using the literal password "null" for a non-existent username. The exploit computes the RFC 2617 digest response locally and resubmits the request in an attempt to bypass authentication and retrieve the protected content. Repository structure: the Go PoC is accompanied by a Dockerfile and Tomcat configuration files that build a reproducible vulnerable lab. Dockerfile provisions Tomcat 11.0.0-M1, removes default apps, creates a ROOT webapp, and places a protected file at /protected/secret.html. web.xml enables DIGEST authentication for /protected/*, server.xml configures the UserDatabaseRealm and HTTP connector on port 8080, tomcat-users.xml defines a single legitimate user and intentionally omits the attacker username, and logging.properties increases Tomcat logging verbosity for exploitability analysis. index.html appears to be a demonstration page but is not referenced by the Dockerfile-created protected secret path. Capabilities: the code can fingerprint a Tomcat DIGEST-protected endpoint, parse Digest challenge parameters (realm, nonce, opaque, qop, algorithm), generate MD5 or SHA-256 digest responses, and attempt unauthorized access to a protected resource. It does not deliver post-auth payloads, execute commands, or establish persistence. Its purpose is validation of the authentication bypass hypothesis rather than weaponization. Important outcome: despite the repository being framed as an exploit PoC, the included README and code behavior indicate end-to-end exploitation is not reproducible in the provided standard UserDatabaseRealm deployment. The PoC demonstrates that the client and server digest values can match for an unknown user when using password "null", but authentication still fails because Tomcat subsequently calls getPrincipal(username), which returns null for non-existent users, resulting in HTTP 401. Therefore this is best classified as a proof-of-concept exploitability analysis rather than a reliable working bypass.
Affected products & vendors
Products and vendors Mallory has correlated with this vulnerability. Open in Mallory to drill down to specific CPE configurations and version ranges.
Vendor-confirmed product mapping. Mallory continuously reconciles this list against your asset inventory.
Recent activity
8 sources tracked across advisories, community write-ups, and news. New activity surfaces here as Mallory finds it.
The version that knows your environment.
Query your assets running an affected version, and investigate the blast radius.
Every observed campaign linking this CVE to a named adversary.
Malware families riding this exploit, with evidence and IOCs.
YARA, Sigma, Snort, and vendor rules, auto-deployed to your SIEM.
Cross-references every affected SKU, including bundled OEM variants.
Community discussion across Reddit, Mastodon, and other social sources.