Résumé
Http4s: DigestAuth allows replay of captured requests
Détails de l’avis
The DigestAuth replay defence stores lastNc + 1 rather than the nonce-count (nc) value it just accepted. When a legitimate client sends non-contiguous nc values (parallel or retried requests, as browsers do), the server's counter lags behind the highest nc seen, and a captured Authorization header can be replayed multiple times.
Impact
A passive observer can turn one captured Digest-authenticated request into several replayed authenticated (state-changing) requests, defeating the core replay protection Digest provides over Basic.
Preconditions
- Application uses
DigestAuth. - Attacker can passively observe at least one legitimate digest request.
- Legitimate client emits an
ncmore than one greater than the last, for instance from a parallel or retried request.
Workarounds
- Deploy over TLS so requests cannot be captured.
Références
- https://github.com/advisories/GHSA-9xww-74xv-gjfp
- https://github.com/http4s/http4s/security/advisories/GHSA-9xww-74xv-gjfp
- https://github.com/http4s/http4s/commit/7f065101c45f3d86bc105e8fc6323c2c4a11471f
- https://github.com/http4s/http4s/releases/tag/v0.23.35
- https://github.com/http4s/http4s/releases/tag/v1.0.0-M47
Vulnérabilités liées
Tout Supply chain →- MEDIUMCVE-2026-84306
Filament: Multi-factor authentication (app) codes can still be used after a newer code has been used
- HIGHCVE-2026-96627
Arcane: Delegated users:update permission allows admin account takeover via password reset (no privilege-hierarchy check)
- MEDIUMCVE-2026-96628
Arcane: Environment access token bypasses the admin-required authorization gate on `/api/debug/pprof`
- CRITICALCVE-2026-105192
LMCache: Remote code execution via unsafe deserialization in multiprocess mode transport
- HIGHCVE-2026-100349
kin-openapi openapi3filter: nil-pointer panic in ValidateResponse on a response header declared with content
- MEDIUMCVE-2026-58494
Wasmtime: WASI hard links bypass wasmtime-wasi's FilePerms for destination