CVE-2024-1968
Scrapy leaks the authorization header on same-domain but cross-origin redirects
Impact
### 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/.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pip | Scrapy | < 2.11.2 | 2.11.2 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Scrapy | Scrapy | through 1.8.4 from 2.0.0 before 2.11.2 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/scrapy/scrapy/commit/1d0502f25bbe55a22899af915623fda1aaeb9dd8
- https://huntr.com/bounties/27f6a021-a891-446a-ada5-0226d619dd1a
- https://github.com/advisories/GHSA-4qqq-9vqf-3h3f
- https://github.com/scrapy/scrapy/security/advisories/GHSA-4qqq-9vqf-3h3f