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.
http4k before 6.48.0.0 Digest Authentication Replay Protection Bypass
Problem type
Affected products
http4k
< 6.48.0.0 - AFFECTED
6.48.0.0 - UNAFFECTED
< 5.42.0.0 - AFFECTED
5.42.0.0 - UNAFFECTED
< 4.51.0.0 - AFFECTED
4.51.0.0 - UNAFFECTED
References
https://github.com/http4k/http4k/security/advisories/GHSA-c7jm-38gq-h67h
https://github.com/http4k/http4k/commit/8a52b615b1
https://github.com/http4k/http4k/commit/4f904b4692
https://www.vulncheck.com/advisories/http4k-before-6.48.0.0-digest-authentication-replay-protection-bypass
GitHub Security Advisories
GHSA-r39r-ww5m-7mv9
http4k's Digest authentication module (org.http4k:http4k-security-digest) before versions 6.48.0...
https://github.com/advisories/GHSA-r39r-ww5m-7mv9http4k'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.
https://github.com/http4k/http4k/security/advisories/GHSA-c7jm-38gq-h67h
https://nvd.nist.gov/vuln/detail/CVE-2026-100834
https://github.com/http4k/http4k/commit/4f904b4692
https://github.com/http4k/http4k/commit/8a52b615b1
https://www.vulncheck.com/advisories/http4k-before-6.48.0.0-digest-authentication-replay-protection-bypass
https://github.com/advisories/GHSA-r39r-ww5m-7mv9
JSON source
https://cveawg.mitre.org/api/cve/CVE-2026-100834Click to expand
{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2026-100834",
"assignerOrgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"assignerShortName": "VulnCheck",
"dateUpdated": "2026-09-27T01:28:32.781Z",
"dateReserved": "2026-09-26T23:23:03.410Z",
"datePublished": "2026-09-27T01:28:32.781Z",
"state": "PUBLISHED"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "83251b91-4cc7-4094-a5c7-464a1b83ea10",
"shortName": "VulnCheck",
"dateUpdated": "2026-09-27T01:28:32.781Z"
},
"datePublic": "2026-06-16T00:00:00.000Z",
"title": "http4k before 6.48.0.0 Digest Authentication Replay Protection Bypass",
"descriptions": [
{
"lang": "en",
"value": "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."
}
],
"affected": [
{
"vendor": "http4k",
"product": "http4k",
"defaultStatus": "unaffected",
"versions": [
{
"version": "0",
"status": "affected",
"versionType": "custom",
"lessThan": "6.48.0.0"
},
{
"version": "6.48.0.0",
"status": "unaffected",
"versionType": "custom"
}
]
},
{
"vendor": "http4k",
"product": "http4k",
"defaultStatus": "unaffected",
"versions": [
{
"version": "0",
"status": "affected",
"versionType": "custom",
"lessThan": "5.42.0.0"
},
{
"version": "5.42.0.0",
"status": "unaffected",
"versionType": "custom"
}
]
},
{
"vendor": "http4k",
"product": "http4k",
"defaultStatus": "unaffected",
"versions": [
{
"version": "0",
"status": "affected",
"versionType": "custom",
"lessThan": "4.51.0.0"
},
{
"version": "4.51.0.0",
"status": "unaffected",
"versionType": "custom"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"description": "Authentication Bypass by Capture-replay",
"cweId": "CWE-294",
"type": "CWE"
}
]
}
],
"references": [
{
"url": "https://github.com/http4k/http4k/security/advisories/GHSA-c7jm-38gq-h67h",
"name": "GitHub Security Advisory (GHSA-c7jm-38gq-h67h)",
"tags": [
"vendor-advisory"
]
},
{
"url": "https://github.com/http4k/http4k/commit/8a52b615b1",
"name": "Patch Commit",
"tags": [
"patch"
]
},
{
"url": "https://github.com/http4k/http4k/commit/4f904b4692",
"name": "Patch Commit",
"tags": [
"patch"
]
},
{
"url": "https://www.vulncheck.com/advisories/http4k-before-6.48.0.0-digest-authentication-replay-protection-bypass",
"name": "VulnCheck Advisory: http4k before 6.48.0.0 Digest Authentication Replay Protection Bypass",
"tags": [
"third-party-advisory"
]
}
],
"metrics": [
{
"format": "CVSS"
},
{
"format": "CVSS",
"cvssV3_1": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N",
"attackVector": "NETWORK",
"attackComplexity": "HIGH",
"privilegesRequired": "NONE",
"userInteraction": "NONE",
"scope": "UNCHANGED",
"confidentialityImpact": "HIGH",
"integrityImpact": "NONE",
"availabilityImpact": "NONE",
"baseScore": 5.9,
"baseSeverity": "MEDIUM"
}
}
]
}
}
}