GitHub Advisoryadvisory · PyPI
GHSA-4qqq-9vqf-3h3f Scrapy leaks the authorization header on same-domain but cross-origin redirects
MEDIUM
Official page ↗
- Aliases
- CVE-2024-1968
- Ecosystem
- PyPI
- Packages
- Scrapy
- Severity
- Moderate
- CVSS vector
- CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N
- Weaknesses
- CWE-200
- Reviewed
- 2024-05-14
Affected packages
• PyPI Scrapy: < 2.11.2 → fixed in 2.11.2
Description
Impact
Since version 2.11.1, Scrapy drops the `Authorization` header when a request is redirected to a different domain. However, it keeps the header if the domain remains the same but the scheme (http/https) or the port change, all scenarios where the header should also be dropped.
In the context of a man-in-the-middle attack, this could be used to get access to the value of that `Authorization` header
Patches
Upgrade to Scrapy 2.11.2.
Workarounds
There is no easy workaround for unpatched versions of Scrapy. You can replace the built-in redirect middlewares with custom ones patched for this issue, but you have to patch them yourself, manually.
References
This security issue was reported and fixed by @szarny at https://huntr.com/bounties/27f6a021-a891-446a-ada5-0226d619dd1a/.
Related
Alias · CVE (1)
- CVE-2024-1968 In scrapy/scrapy, an issue was identified where the Authorization header is not removed during redirects that only change the scheme (e.g.,… vulnerability
Weakness · CWE (1)
- CWE-200 Exposure of Sensitive Information to an Unauthorized Actor weakness