VDB
Sign up
MEDIUM6.8

GHSA-wv64-j4fq-5f9x

Http4s: CookieJar middleware accepts arbitrary Set-Cookie domain

Quick fix

GHSA-wv64-j4fq-5f9x — org.http4s:http4s-client_2.12: upgrade to the fixed version with the command below.

# pom.xml: bump <version>0.23.35</version> for org.http4s:http4s-client_2.12

Details

When processing a `Set-Cookie` from a response, the `CookieJar` client middleware trusts the server-supplied `Domain` attribute verbatim, with no check that it domain-matches the host that sent the cookie (RFC6265 §5.3 step 6) and no public suffix check. A malicious or compromised server can therefore plant a cookie for any domain in the cookie jar, which is subsequently set on the client's next request to that victim domain, enabling session fixation or overwriting security-relevant cookies.

## Impact

Session fixation and overwrite of security-relevant cookies for arbitrary domains contacted by the same wrapped client.

## Preconditions

- Application uses the `CookieJar` client middleware. - Application contacts an attacker-controlled (or compromised) server using the same jar it uses for trusted hosts.

## Workarounds

- Do not share a `CookieJar` across trusted and untrusted targets.

## Note

This middleware still does not implement public suffix rejection.

Are you affected?

Enter the version of the package you're using.

Affected packages

Maven/org.http4s:http4s-client_2.12
Introduced in: 0Fixed in: 0.23.35
Fix# pom.xml: bump <version>0.23.35</version> for org.http4s:http4s-client_2.12
Maven/org.http4s:http4s-client_2.13
Introduced in: 0Fixed in: 0.23.35
Fix# pom.xml: bump <version>0.23.35</version> for org.http4s:http4s-client_2.13
Maven/org.http4s:http4s-client_2.13
Introduced in: 1.0.0-M1Fixed in: 1.0.0-M47
Fix# pom.xml: bump <version>1.0.0-M47</version> for org.http4s:http4s-client_2.13
Maven/org.http4s:http4s-client_3
Introduced in: 1.0.0-M1Fixed in: 1.0.0-M47
Fix# pom.xml: bump <version>1.0.0-M47</version> for org.http4s:http4s-client_3
Maven/org.http4s:http4s-client_3
Introduced in: 0Fixed in: 0.23.35
Fix# pom.xml: bump <version>0.23.35</version> for org.http4s:http4s-client_3

References