Description
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 products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| http4k | http4k | 6.0.0.0 – < 6.48.0.0, 5.0.0.0 – < 5.42.0.0, < 4.51.0.0 | 6.48.0.0 |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| Maven | org.http4k:http4k-security-digest | >= 6.0.0.0, < 6.48.0.0 | 6.48.0.0 | GHSA-c7jm-38gq-h67h |
| Maven | org.http4k:http4k-security-digest | >= 5.0.0.0, < 5.42.0.0 | 5.42.0.0 | GHSA-c7jm-38gq-h67h |
| Maven | org.http4k:http4k-security-digest | < 4.51.0.0 | 4.51.0.0 | GHSA-c7jm-38gq-h67h |
References
- GitHub Security Advisory (GHSA-c7jm-38gq-h67h) vendor-advisory
- Patch Commit patch
- Patch Commit patch
- VulnCheck Advisory: http4k before 6.48.0.0 Digest Authentication Replay Protection Bypass third-party-advisory