GitHub Advisoryadvisory · PyPI
GHSA-v845-jxx5-vc9f `Cookie` HTTP header isn't stripped on cross-origin redirects
HIGH
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
- https://github.com/urllib3/urllib3/security/advisories/GHSA-v845-jxx5-vc9f web
- https://nvd.nist.gov/vuln/detail/CVE-2023-43804 advisory
- https://github.com/urllib3/urllib3/commit/01220354d389cd05474713f8c982d05c9b17aafb web
- https://github.com/urllib3/urllib3/commit/644124ecd0b6e417c527191f866daa05a5a2056d web
- https://github.com/pypa/advisory-database/tree/main/vulns/urllib3/PYSEC-2023-192.yaml web
- https://github.com/urllib3/urllib3 package
- https://lists.debian.org/debian-lts-announce/2023/10/msg00012.html web
- https://lists.debian.org/debian-lts-announce/2024/12/msg00020.html web
- https://lists.fedoraproject.org/archives/list/[email protected]/message/5F5CUBAN5XMEBVBZPHFITBLMJV5FIJJ5 web
- https://lists.fedoraproject.org/archives/list/[email protected]/message/I3PR7C6RJ6JUBQKIJ644DMIJSUP36VDY web
- https://lists.fedoraproject.org/archives/list/[email protected]/message/NDAGZXYJ7H2G3SB47M453VQVNAWKAEJJ web
- https://security.netapp.com/advisory/ntap-20241213-0007 web
- https://www.vicarius.io/vsociety/posts/cve-2023-43804-urllib3-vulnerability-3 web