CVE-2026-100834
MediumCVSS 5.9Exploitation Probability (EPSS)
Low risk23th percentile - higher than 23% of all known CVEs
Summary
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.
Risk Assessment
Lack of replay protection can allow an attacker to reuse captured credentials multiple times, potentially leading to unauthorized access to resources or data integrity compromise.
Recommendation
Upgrade http4k to version 6.48.0.0, 5.42.0.0, or 4.51.0.0 (or later). Additionally, explicitly configure nonceVerifier to ensure nonce validation.
Other vulnerabilities in http4k
See all- CVE-2024-55875Critical
http4k is a functional toolkit for Kotlin HTTP applications. Prior to version 6.50.0.0, there was a potential XXE (XML External Entity Injection) vulnerability that could allow attackers to read local sensitive information on the server, trigger SSRF attacks, and even execute code under certain circumstances.
- CVE-2026-100725Medium
http4k (Maven artifact org.http4k:http4k-core) before versions 6.48.0.0, 5.42.0.0, and 4.51.0.0 ships a BasicCookieStorage that does not enforce RFC 6265 scoping rules for cookie domain, path, and Secure attributes. When a single BasicCookieStorage instance is used to talk to more than one origin or scheme, cookies stored for one origin can be sent to other origins, and cookies marked Secure can be sent over plain HTTP, potentially disclosing session cookies or other sensitive values to unauthorized hosts or network observers.
- CVE-2026-100724Medium
http4k (Maven package org.http4k:http4k-core) before versions 6.49.0.0, 5.42.0.0, and 4.51.0.0 uses substring (Contains) matching on the Host header by default in reverseProxy() and reverseProxyRouting() when dispatching to configured virtual hosts. If these functions are deployed as a public-facing inbound HTTP handler with two or more configured virtual hosts, a remote attacker can supply a Host header that merely contains a configured vhost name (for example Host: admin.evil.com for a vhost configured as "admin") and be routed to that vhost, bypassing routing-based authorization.
- CVE-2026-54148High
http4k is a functional toolkit for Kotlin HTTP applications. Prior to 4.51.0.0, 5.42.0.0, and 6.50.0.0, DigestAuthProvider.verify in http4k-security-digest does not compare the uri parameter in an Authorization: Digest response with the actual request URL. An attacker who captures a valid Digest authentication response can replay it against another URL served by the same realm, bypassing the per-request-URI binding and potentially gaining unauthorized read or write access. This issue is fixed in versions 4.51.0.0, 5.42.0.0, and 6.50.0.0.
- CVE-2026-54147Medium
In http4k prior to 4.51.0.0, 5.42.0.0, and 6.50.0.0, DigestAuthProvider.verify in http4k-security-digest ignores its configured algorithm parameter and verifies every Digest response with hardcoded MD5. Deployments configured for SHA-256 therefore receive weaker MD5-based verification.
- CVE-2026-53659High
In http4k before 4.51.0.0, 5.42.0.0, and 6.49.0.0, ServerFilters.GZip, RequestFilters.GunZip, and the underlying Gzip request-body decompression functions impose no limit on decompressed size. An unauthenticated client can send a small gzip-encoded request body that expands to gigabytes, exhausting the JVM heap.
Original NVD description (English source)
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.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

