Read the docs
TI-2026-66896 Aliases GHSA-c7jm-38gq-h67h

http4k: `ServerFilters.DigestAuth` / `DigestAuthProvider` defaulted to an always-true…

Priority LOW 38CWE-294Published · Updated

Key facts

Attack vector
—
Privileges required
—
User interaction
—
Attack complexity
—
Impact type
Security bypass
Confidentiality · integrity · availability
—
Fix status
Fixed

No CVSS vector from any source. Fix status from GitHub. Impact type from CWE-294.

Summary

### Impact `ServerFilters.DigestAuth` and the underlying `DigestAuthProvider` both defaulted their `nonceVerifier` parameter to `{ true }` — i.e. every nonce was accepted regardless of value, age, or prior use. Any deployment using the default configuration had **no replay protection** on Digest authentication; a captured `Authorization: Digest …` response could be replayed indefinitely against the same protected resource. The nonce-verification mechanism in Digest auth is the primary anti-replay control — without it, Digest reduces to a credential bound only to a stale nonce string. **Who is affected:** any application using `ServerFilters.DigestAuth` or `DigestAuthProvider` with the default `nonceVerifier`. The broken default has been present since `DigestAuthProvider` was introduced (2021). Exploitation requires the attacker to first capture a valid Digest response (network observation, log access, etc.) — non-trivial in modern TLS deployments but not impossible. Anyone running Digest auth with default config should treat upgrade as urgent. ### Patches | Line | Fixed in | Edition | |------|----------|---------| | v6.x (Community) | **6.48.0.0** | Community | | v5.x (LTS) | **5.42.0.0** | Enterprise — contact [[email protected]](mailto:[email protected]) (if Digest auth is present in your v5.x line) | | v4.x (LTS) | **4.51.0.0** | Enterprise — contact [[email protected]](mailto:[email protected]) (if Digest auth is present in your v4.x line) | The fix (`[Break]`) removes the default value for `nonceVerifier` from both `ServerFilters.DigestAuth` and `DigestAuthProvider`. Callers must now supply a real verifier explicitly — the broken default cannot be silently inherited. ### Workarounds For deployments that cannot upgrade immediately: explicitly supply a `nonceVerifier` that tracks issued nonces, enforces a TTL, and rejects re-use. Do not rely on the default.

Why it matters now

Fix Fixed org.http4k:http4k-security-digest (Maven): 6.48.0.0, 5.42.0.0, 4.51.0.0

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
—org.http4k:http4k-security-digest (Maven)6.0.0.0 to before 6.48.0.06.48.0.0Patch availableGHSA-c7jm-38gq-h67h
—org.http4k:http4k-security-digest (Maven)5.0.0.0 to before 5.42.0.05.42.0.0Patch availableGHSA-c7jm-38gq-h67h
—org.http4k:http4k-security-digest (Maven)before 4.51.0.04.51.0.0Patch availableGHSA-c7jm-38gq-h67h
  • org.http4k:http4k-security-digest (Maven) Vendor— Affected 6.0.0.0 to before 6.48.0.0 Fixed in 6.48.0.0 Patch available GHSA-c7jm-38gq-h67h
  • org.http4k:http4k-security-digest (Maven) Vendor— Affected 5.0.0.0 to before 5.42.0.0 Fixed in 5.42.0.0 Patch available GHSA-c7jm-38gq-h67h
  • org.http4k:http4k-security-digest (Maven) Vendor— Affected before 4.51.0.0 Fixed in 4.51.0.0 Patch available GHSA-c7jm-38gq-h67h

Remediation

  • Fix · GHSA-c7jm-38gq-h67h org.http4k:http4k-security-digest (Maven) Fixed in 6.48.0.0 Advisory →
  • Fix · GHSA-c7jm-38gq-h67h org.http4k:http4k-security-digest (Maven) Fixed in 5.42.0.0 Advisory →
  • Fix · GHSA-c7jm-38gq-h67h org.http4k:http4k-security-digest (Maven) Fixed in 4.51.0.0 Advisory →

Timeline

  1. 2026-10-03 Threatist record created from GHSA-c7jm-38gq-h67h

References

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences