GitHub Advisoryadvisory · Maven

GHSA-pr33-38xx-6r26 http4k: BasicCookieStorage` (renamed `InsecureCookieStorage`) did not enforce RFC 6265 cookie scoping; new `DefaultCookieStorage` is now the default

MEDIUM Published 2026-06-19 Modified 2026-06-19 Official page ↗
Ecosystem
Maven
Packages
org.http4k:http4k-core
Severity
Moderate
CVSS vector
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Weaknesses
CWE-200
Reviewed
2026-06-19

Affected packages

• Maven org.http4k:http4k-core: >= 6.0.0.0, < 6.48.0.0 → fixed in 6.48.0.0 • Maven org.http4k:http4k-core: >= 5.0.0.0, < 5.42.0.0 → fixed in 5.42.0.0 • Maven org.http4k:http4k-core: < 4.51.0.0 → fixed in 4.51.0.0

Description

Impact The previous `BasicCookieStorage` did not enforce RFC 6265 scoping rules around cookie domain, path, and `Secure` attribute. A client using a single storage instance to talk to multiple origins could have cookies leak across domains, or have `Secure` cookies sent over plain HTTP — the deprecation message states it bluntly: *"BasicCookieStorage has no domain/path/scheme scoping and leaks cookies across origins. Use DefaultCookieStorage instead."* Who is affected: any client using `BasicCookieStorage` directly with cookies for more than one origin or scheme. Single-origin uses are unaffected. Patches | Line | Fixed in | Edition | |------|----------|---------| | v6.x (Community) | 6.48.0.0 | Community | | v5.x (LTS) | 5.42.0.0 | Enterprise — contact [email protected] | | v4.x (LTS) | 4.51.0.0 | Enterprise — contact [email protected] | The fix introduces `DefaultCookieStorage` (RFC 6265 compliant) as the drop-in default; `BasicCookieStorage` is renamed `InsecureCookieStorage` and remains available for callers with a deliberate need for the old behaviour. Workarounds For deployments that cannot upgrade immediately: • Use a dedicated `BasicCookieStorage` instance per origin / scheme, or • Switch to a separate RFC 6265-compliant cookie store implementation. References • Fix release: v6.48.0.0 • Cookie storage rewrite: `6a9b44d743` • Background: RFC 6265 — HTTP State Management Mechanism

Related

Weakness · CWE (1)

  • CWE-200 Exposure of Sensitive Information to an Unauthorized Actor weakness

References