Authorization Header Leakage in scrapy/scrapy on Scheme Change Redirects (scrapy scrapy/scrapy)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.69 % · percentile 53 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- @huntr_ai
- NVD status
- Analyzed
Description
In scrapy/scrapy, an issue was identified where the Authorization header is not removed during redirects that only change the scheme (e.g., HTTPS to HTTP) but remain within the same domain. This behavior contravenes the Fetch standard, which mandates the removal of Authorization headers in cross-origin requests when the scheme, host, or port changes. Consequently, when a redirect downgrades from HTTPS to HTTP, the Authorization header may be inadvertently exposed in plaintext, leading to potential sensitive information disclosure to unauthorized actors. The flaw is located in the _build_redirect_request function of the redirect middleware.
Weaknesses (CWE)
- CWE-200 — Exposure of Sensitive Information to an Unauthorized Actor
References
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.0 | HIGH 7.5 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N | @huntr_ai |
| CVSS 3.0 | HIGH 7.5 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N | NVD · security@huntr.dev (Secondary) |
Advisories
- GHSA-4qqq-9vqf-3h3f — Scrapy leaks the authorization header on same-domain but cross-origin redirects
- PYSEC-2024-258 — In scrapy/scrapy, an issue was identified where the Authorization header is not removed during redirects that only change the scheme (e.g., HTTPS to HTTP) but r
European references
- ENISA EUVD · EUVD-2024-1419
- GCVE · GCVE-0-2024-1968
Affected configurations (NVD CPE)
cpe:2.3:a:scrapy:scrapy:*:*:*:*:*:*:*:*≤ 1.8.4cpe:2.3:a:scrapy:scrapy:*:*:*:*:*:*:*:*≥ 2.0.0 < 2.11.2
Affected products
| Product | Versions |
|---|---|
| scrapy · scrapy/scrapy | affected unspecified < 2.11.2 |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |