Medium

Incorrect Authorization and Exposure of Sensitive Information to an Unauthorized Actor in scrapy

  • Disclosed: 01.03.2022
  • Updated: 11.10.2026 15:18

Impact

If you manually define cookies on a Request object, and that Request object gets a redirect response, the new Request object scheduled to follow the redirect keeps those user-defined cookies, regardless of the target domain.

Patches

Upgrade to Scrapy 2.6.0, which resets cookies when creating Request objects to follow redirects¹, and drops the Cookie header if manually-defined if the redirect target URL domain name does not match the source URL domain name².

If you are using Scrapy 1.8 or a lower version, and upgrading to Scrapy 2.6.0 is not an option, you may upgrade to Scrapy 1.8.2 instead.

¹ At that point the original, user-set cookies have been processed by the cookie middleware into the global or request-specific cookiejar, with their domain restricted to the domain of the original URL, so when the cookie middleware processes the new (redirect) request it will incorporate those cookies into the new request as long as the domain of the new request matches the domain of the original request.

² This prevents cookie leaks to unintended domains even if the cookies middleware is not used.

Workarounds

If you cannot upgrade, set your cookies using a list of dictionaries instead of a single dictionary, as described in the Request documentation, and set the right domain for each cookie.

Alternatively, you can disable cookies altogether, or limit target domains to domains that you trust with all your user-set cookies.

References

For more information

If you have any questions or comments about this advisory:

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
Python (PyPI) scrapy < 1.8.2, >= 2.0.0, < 2.6.0 1.8.2, 2.6.0

References

CVSS score 6.5/10
CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
Weakness (CWE)
CWE-200, CWE-863
Platform
Python (PyPI)
Package
scrapy
Disclosed
01.03.2022
Updated
11.10.2026 15:18

Sources and licenses

OSV / GitHub Advisory Database - PYSEC-2022-159 - PyPA Advisory Database; CC BY 4.0

OSV / GitHub Advisory Database - GHSA-cjvr-mfj7-j4j8 - CC BY 4.0

Vulnerability history: scrapy

All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.

All (14) in the archive
Total entries
14
First → latest
09.2017 09.2026
Without a fix
1
Exploited in attacks
0

Severity breakdown

  • High 6
  • Medium 8

Disclosures per year

  1. 2017: 1
  2. 2018: 0
  3. 2019: 0
  4. 2020: 0
  5. 2021: 1
  6. 2022: 3
  7. 2023: 0
  8. 2024: 6
  9. 2025: 1
  10. 2026: 2
Severity:
  1. High · 7.5 CVE-2026-105782 >= 1.4.0, < 2.14.2 2.14.2
  2. High · 7.5 CVE-2024-3572 >= 2.0.0, < 2.11.1, < 1.8.4 2.11.1, 1.8.4
  3. High · 7.5 CVE-2024-3574 >= 2, < 2.11.1, < 1.8.4 2.11.1, 1.8.4
  4. Incorrect Authorization and Exposure of Sensitive Information to an Unauthorized Actor in scrapy this entry
    Medium · 6.5 CVE-2022-0577 < 1.8.2, >= 2.0.0, < 2.6.0 1.8.2, 2.6.0
  5. High · 7.5 CVE-2017-14158 >= 0.7, <= 2.15.2 no fix

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.