Description
http-cache-semantics through 4.2.0 fails to properly validate security-zeroed cache entries when processing client max-stale directives, allowing unauthenticated attackers to retrieve cached responses belonging to other users. Attackers can request the same URL with a large max-stale value to obtain another user's Set-Cookie session credentials from shared-cache entries that were deliberately zeroed for security reasons.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
kornelski http-cache-semantics
Default version status: unaffected
0 to ≤ 4.2.0affected
pkg:npm/http-cache-semanticsReferences
- https://github.com/kornelski/http-cache-semantics/issues/56 ↗
- https://github.com/kornelski/http-cache-semantics ↗
- https://github.com/kornelski/http-cache-semantics/blob/f01112e954b83cfa8765b633ba880e5e980aa54c/index.js#L425-L441 ↗
- https://github.com/kornelski/http-cache-semantics/blob/f01112e954b83cfa8765b633ba880e5e980aa54c/index.js#L603-L623 ↗
- https://www.vulncheck.com/advisories/http-cache-semantics-through-4.2.0-cross-user-cache-disclosure-via-max-stale ↗
- https://github.com/kornelski/http-cache-semantics/issues/56#issuecomment-5975759591 ↗