Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain traffic-observation or log-read position
-
DeliveryCapture valid 'Authorization: Digest' header
-
ExploitReplay captured header to server
-
ExecutionAlways-true nonceVerifier accepts stale nonce
-
ImpactObtain unauthorized access to protected resource
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Replay attack prevention
|
| Exploitation Conditions | Applies only to applications that use ServerFilters.DigestAuth or DigestAuthProvider from org.http4k:http4k-security-digest AND rely on the default nonceVerifier (the { true } always-accept default present since the module's 2021 introduction); applications that already pass an explicit nonce-tracking verifier are unaffected. Exploitation further requires the attacker to first obtain a valid 'Authorization: Digest' header - via network observation of cleartext/decrypted traffic or access to logs that record the header - which limits realistic exploitation to attackers with a traffic-interception vantage point or log access. Deployments serving Digest auth strictly over end-to-end TLS with no header logging substantially raise the difficulty of the required capture step. |
| Impact | This is a real but conditionally-gated authentication weakness rather than a mass-exploitable critical. The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:N/UI:N/VC:H) rates it 8.2, but the single most important signal is AT:P (Attack Requirements: Present) - exploitation is impossible until the attacker first captures a valid 'Authorization: Digest' header, which the vendor itself concedes is 'non-trivial in modern TLS deployments but not impossible.' PR:N is accurate: the replayer never needs their own credentials, they reuse a captured one. No EPSS score, no CISA KEV listing, and no public POC were provided, so there is no signal of active or automatable exploitation - consistent with a flaw that requires a prerequisite man-in-the-middle position or log/traffic access. SSVC-style reading: exploitation status = none observed, automatable = no (the capture step is opportunistic and environment-specific), technical impact = partial (grants access to one protected resource, no code execution). The vendor scores confidentiality VC:H with VI:N/VA:N; I largely agree the impact is bounded to unauthorized access of the Digest-protected resource. Net: prioritize for teams that actually deploy http4k Digest auth over cleartext or with accessible logs, but it does not warrant emergency patching for the general population given the capture precondition and absence of KEV/EPSS/POC evidence. |
| Exploit ScenarioDerived | An attacker positioned to observe network traffic to an http4k service that terminates TLS upstream (or one exposing Digest headers in application/proxy logs) captures a legitimate user's 'Authorization: Digest' response. Because the default nonceVerifier is { true }, the server accepts that same nonce forever, so the attacker replays the captured header to authenticate as that user against the protected resource indefinitely. No public exploit code was identified at time of analysis; exploitation hinges on the attacker's ability to capture a valid Digest response. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 27, 2026
Replay of captured Digest authentication credentials is possible in the http4k http4k-security-digest module (org.http4k:http4k-security-digest) because ServerFilters.DigestAuth and the underlying DigestAuthProvider default their nonceVerifier parameter to { true }, accepting every nonce regardless of value, age, or prior use. Any application that uses these components with the default configuration and exposes a protected resource has no replay protection: an attacker who obtains a valid 'Authorization: Digest' header - for example through network observation or reading logs that record the header - can replay that response indefinitely against the same resource, yielding credential-equivalent access and information disclosure rather than modification of data. The weakness has been present since DigestAuthProvider was introduced in 2021; the CVSS 4.0 score is 8.2 (8.2 with AT:P reflecting the capture prerequisite), and the independent assessment rates it CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N, treating it as a real but conditionally gated authentication weakness rather than a mass-exploitable critical. There is no public exploit identified at time of analysis, and vendor-released patches exist in 6.48.0.0, 5.42.0.0, and 4.51.0.0.
RemediationAI
Upgrade to the fixed version for your line: 6.48.0.0 for v6.x (Community), 5.42.0.0 for v5.x (LTS/Enterprise), or 4.51.0.0 for v4.x (LTS/Enterprise); the 5.x and 4.x fixes are distributed through the Enterprise channel, so contact enterprise@http4k.org if Digest auth is present in those lines, and note that 6.48.0.0 is available on the public Community line. The fix is a deliberate breaking change: the default value of nonceVerifier has been removed from both ServerFilters.DigestAuth and DigestAuthProvider so callers must supply a real verifier explicitly - be prepared for compilation errors in affected call sites and treat them as the signal that the broken default was being relied upon (patches: https://github.com/http4k/http4k/commit/8a52b615b1 and https://github.com/http4k/http4k/commit/4f904b4692; advisory: https://github.com/http4k/http4k/security/advisories/GHSA-c7jm-38gq-h67h). If immediate upgrade is not possible, pass a custom nonceVerifier that records nonces it has issued, enforces a short TTL, and rejects any nonce seen before - this restores the anti-replay guarantee but requires server-side state and works only within a single node or a shared store, so it adds storage and clustering complexity and introduces the risk of rejecting legitimate clients if the TTL is set too aggressively. Compensating measures that reduce the required capture step should be applied regardless: enforce end-to-end TLS on all Digest-protected endpoints, exclude the Authorization header from application and proxy access logs, and restrict log access - each of these lowers the likelihood that an attacker can obtain the header needed to replay it, but none of them substitutes for nonce verification. Organizations that cannot implement a stateful verifier at all should consider migrating the protected resources away from Digest authentication to a token or session scheme with server-side revocation.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in maven, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
HTTP Digest authentication is an RFC-defined challenge/response scheme in which the server issues a nonce and the client returns an Authorization: Digest header containing a hash of credentials, the nonce, and request attributes. The server-side nonce is the primary anti-replay control: a correct implementation tracks issued nonces, enforces a lifetime, and rejects reuse, so a captured header becomes useless once the nonce expires. In http4k's Kotlin implementation (Maven artifact org.http4k:http4k-security-digest, built on http4k-core), both ServerFilters.DigestAuth and DigestAuthProvider declared nonceVerifier with a default lambda of { true }, so the verification step returned success unconditionally. This is CWE-294 (Authentication Bypass by Capture-replay): the fundamental flaw is not a cryptographic break of the digest hash but the silent omission of stateful replay checks, which reduces Digest authentication to a credential bound only to a static, reusable nonce string. The CVSS 4.0 vector marks AT:P, i.e. the attack depends on a pre-existing condition - the attacker must already possess a valid Digest header captured from cleartext or decrypted traffic, or from a log file that records the header - which is why the independent assessment uses CVSS 3.1 AC:H rather than AC:L even though no authentication is required (PR:N) to send the replayed request. Because the flaw ships as a library default inherited by downstream applications, the affected population is any service built on the matching versions that did not explicitly override the verifier.
Know when Http4K gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
AV:N and PR:N since a captured header is replayed without the attacker's own credentials; AC:H because exploitation first requires capturing a valid Digest response; C:H for unauthorized resource access, I/A:N.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
http4k's Digest authentication module (org.http4k:http4k-security-digest) before versions 6.48.0.0, 5.42.0.0 and 4.51.0.0 defaults the nonceVerifier parameter of ServerFilters.DigestAuth and DigestAuthProvider to { true }, so every nonce is accepted regardless of its value, age, or prior use. Applications relying on this default have no replay protection on Digest authentication: an attacker who can capture a valid 'Authorization: Digest' response (for example by observing network traffic or reading logs) can replay it indefinitely against the same protected resource.
Technical POC Analysis
No runnable PoC was supplied.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Applications built on the http4k http4k-security-digest module accept replayed Digest authentication headers by default, so anyone who captures a single valid header can reuse it indefinitely for credential-equivalent access to protected resources. The insecure default has been present since the component was introduced in 2021, meaning teams may be exposed in production without any indication from scans or configuration reviews. Leadership should care because the impact is disclosure of protected data and the bar for an attacker is low: a header copied from logs or an unencrypted network segment is sufficient.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
EUVD-2026-87852
GHSA-r39r-ww5m-7mv9
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB