GitHub Advisoryadvisory · PyPI

GHSA-v845-jxx5-vc9f `Cookie` HTTP header isn't stripped on cross-origin redirects

HIGH Published 2023-10-02 Modified 2025-11-04 Official page ↗
Aliases
CVE-2023-43804
Ecosystem
PyPI
Packages
urllib3
Severity
High
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:H/A:N
Weaknesses
CWE-200
Reviewed
2023-10-02

Affected packages

• PyPI urllib3: >= 2.0.0, < 2.0.6 → fixed in 2.0.6 • PyPI urllib3: < 1.26.17 → fixed in 1.26.17

Description

urllib3 doesn't treat the `Cookie` HTTP header special or provide any helpers for managing cookies over HTTP, that is the responsibility of the user. However, it is possible for a user to specify a `Cookie` header and unknowingly leak information via HTTP redirects to a different origin if that user doesn't disable redirects explicitly. Users must handle redirects themselves instead of relying on urllib3's automatic redirects to achieve safe processing of the `Cookie` header, thus we decided to strip the header by default in order to further protect users who aren't using the correct approach. Affected usages We believe the number of usages affected by this advisory is low. It requires all of the following to be true to be exploited: • Using an affected version of urllib3 (patched in v1.26.17 and v2.0.6) • Using the `Cookie` header on requests, which is mostly typical for impersonating a browser. • Not disabling HTTP redirects • Either not using HTTPS or for the origin server to redirect to a malicious origin. Remediation • Upgrading to at least urllib3 v1.26.17 or v2.0.6 • Disabling HTTP redirects using `redirects=False` when sending requests. • Not using the `Cookie` header.

Related

Alias · CVE (1)

  • CVE-2023-43804 urllib3 is a user-friendly HTTP client library for Python. vulnerability

Weakness · CWE (1)

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

References