CVE-2024-1968

NameCVE-2024-1968
DescriptionIn 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.
SourceCVE (at NVD; CERT, LWN, oss-sec, fulldisc, Red Hat, Ubuntu, Gentoo, SUSE bugzilla/CVE, GitHub advisories/code/issues, web search, more)

Vulnerable and fixed packages

The table below lists information on source packages.

Source PackageReleaseVersionStatus
python-scrapy (PTS)jessie0.24.2-1vulnerable
stretch (security), stretch (lts), stretch1.0.3-2+deb9u1vulnerable
buster1.5.1-1+deb10u1vulnerable
bullseye2.4.1-2+deb11u1vulnerable
bookworm2.8.0-2vulnerable
trixie2.11.2-3fixed
sid2.12.0-1fixed

The information below is based on the following data on fixed versions.

PackageTypeReleaseFixed VersionUrgencyOriginDebian Bugs
python-scrapysourcejessie(unfixed)end-of-life
python-scrapysourcestretch(unfixed)end-of-life
python-scrapysource(unstable)2.11.2-1

Notes

[bookworm] - python-scrapy <no-dsa> (Minor issue)
[bullseye] - python-scrapy <no-dsa> (Minor issue)
[buster] - python-scrapy <postponed> (Minor issue; can be fixed in next update)
https://huntr.com/bounties/27f6a021-a891-446a-ada5-0226d619dd1a
https://github.com/scrapy/scrapy/security/advisories/GHSA-4qqq-9vqf-3h3f
https://github.com/scrapy/scrapy/commit/f8d6c456e0669ea5344e93fe9206bd1ffebc2008 (2.11.2)
https://github.com/scrapy/scrapy/commit/6499214a4f6817e1845073bd167deb33ed5261af (2.11.2)
https://github.com/scrapy/scrapy/commit/7a1ab7e1be2187daf047f3bf5ed8e9192751b145 (2.11.2)

Search for package or bug name: Reporting problems