CVE-2022-0577
Exposure of Sensitive Information to an Unauthorized Actor in scrapy/scrapy
Exposure of Sensitive Information to an Unauthorized Actor in GitHub repository scrapy/scrapy prior to 2.6.1.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- High
- Integrity
- High
- Availability
- High
Exploit likelihood
What each source reports
CVE List Score used
8.8
Exposure of Sensitive Information to an Unauthorized Actor in scrapy/scrapy
Exposure of Sensitive Information to an Unauthorized Actor in GitHub repository scrapy/scrapy prior to 2.6.1.
- Record
CVE-2022-0577- CVSS 3.0
- 8.8 High
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-200
- Updated
- 2026-11-02
EUVDEUVD-2022-0275
8.8
Exposure of Sensitive Information to an Unauthorized Actor in GitHub repository scrapy/scrapy prior to 2.6.1.
- Record
EUVD-2022-0275- CVSS 3.0
- 8.8 High
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-03
GitHub AdvisoriesGHSA-cjvr-mfj7-j4j8
6.5
Incorrect Authorization and Exposure of Sensitive Information to an Unauthorized Actor in scrapy
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
- Originally reported at huntr.dev
For more information
If you have any questions or comments about this advisory:
- Record
GHSA-cjvr-mfj7-j4j8- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-200, CWE-863
- Updated
- 2026-11-02
NVD
6.5
Exposure of Sensitive Information to an Unauthorized Actor in GitHub repository scrapy/scrapy prior to 2.6.1.
- Record
CVE-2022-0577- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - CVSS 3.0
- 8.8 High
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - CVSS 2.0
- 4.0 Medium
AV:N/AC:L/Au:S/C:P/I:N/A:N - Weakness
- CWE-200, CWE-863
- Updated
- 2026-11-02
OSV
8.8
Exposure of Sensitive Information to an Unauthorized Actor in scrapy/scrapy
Exposure of Sensitive Information to an Unauthorized Actor in GitHub repository scrapy/scrapy prior to 2.6.1.
- Record
CVE-2022-0577- CVSS 3.0
- 8.8 High
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Weakness
- CWE-200
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2022-0577
6.5
Exposure of Sensitive Information to an Unauthorized Actor in GitHub repository scrapy/scrapy prior to 2.6.1.
- Record
DEBIAN-CVE-2022-0577- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Updated
- 2026-11-03
Show 5 moreShow less
OSVGHSA-cjvr-mfj7-j4j8
6.5
Incorrect Authorization and Exposure of Sensitive Information to an Unauthorized Actor in scrapy
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
- Originally reported at huntr.dev
For more information
If you have any questions or comments about this advisory:
- Record
GHSA-cjvr-mfj7-j4j8- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - Weakness
- CWE-200, CWE-863
- Updated
- 2026-11-02
OSVUBUNTU-CVE-2022-0577
6.5
Exposure of Sensitive Information to an Unauthorized Actor in GitHub repository scrapy/scrapy prior to 2.6.1.
- Record
UBUNTU-CVE-2022-0577- CVSS 3.1
- 6.5 Medium
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N - CVSS 3.0
- 8.8 High
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H - Updated
- 2026-11-02
OSVopenSUSE-SU-2024:11889-1 No score
python-Scrapy-doc-2.6.1-1.1 on GA media
These are all security issues fixed in the python-Scrapy-doc-2.6.1-1.1 package on the GA media of openSUSE Tumbleweed.
- Record
openSUSE-SU-2024:11889-1- Updated
- 2026-11-02
OSVPYSEC-2022-159 No score
Exposure of Sensitive Information to an Unauthorized Actor in GitHub repository scrapy/scrapy prior to 2.6.1.
- Record
PYSEC-2022-159- Updated
- 2026-11-02
OSVUSN-7476-1 No score
python-scrapy vulnerabilities
It was discovered that Scrapy improperly exposed HTTP authentication credentials to request targets, including during redirects. An attacker could use this issue to gain unauthorized access to user accounts. This issue only affected Ubuntu 18.04 LTS and Ubuntu 20.04 LTS. (CVE-2021-41125)
It was discovered that Scrapy did not remove the cookie header during cross-domain redirects. An attacker could possibly use this issue to gain unauthorized access to user accounts. This issue only affected Ubuntu 18.04 LTS, Ubuntu 20.04 LTS, and Ubuntu 22.04 LTS. (CVE-2022-0577)
It was discovered that Scrapy inefficiently parsed XML content. An attacker could use this issue to cause a denial of service by sending a crafted XML response. This issue only affected Ubuntu 18.04 LTS, Ubuntu 20.04 LTS, and Ubuntu 22.04 LTS. (CVE-2024-1892)
It was discovered that Scrapy did not properly check response size during decompression. An attacker could send a crafted response that would exhaust memory and cause a denial of service. This issue only affected Ubuntu 18.04 LTS, Ubuntu 20.04 LTS, and Ubuntu 22.04 LTS. (CVE-2024-3572)
It was discovered that Scrapy did not remove the authorization header during cross-domain redirects. An attacker could possibly use this issue to gain unauthorized access to user accounts. This issue only affected Ubuntu 18.04 LTS, Ubuntu 20.04 LTS, and Ubuntu 22.04 LTS. (CVE-2024-3574)
It was discovered that Scrapy did not remove the authorization header during redirects that change scheme but remain in the same domain. This issue could possibly be used by an attacker to expose sensitive information or to gain unauthorized access to user accounts. (CVE-2024-1968)
- Record
USN-7476-1- Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
scrapyPyPI |
before 1.8.2 | 1.8.2 |
scrapyPyPI |
2.0.0 up to 2.6.0 | 2.6.0 |
python-scrapyDebian:12 |
before 2.6.1-1 | 2.6.1-1 |
python-scrapyDebian:13 |
before 2.6.1-1 | 2.6.1-1 |
python-scrapyDebian:14 |
before 2.6.1-1 | 2.6.1-1 |
python-scrapyDebian:9 From an advisory covering 2 CVEs |
before 1.0.3-2+deb9u1, plus listed versions 1.0.3-2 |
1.0.3-2+deb9u1 |
scrapyPyPI |
before 1.8.2, plus listed versions 0.10.4.23640.12.0.25500.14.10.14.20.14.3 Show 45 moreShow less0.14.40.16.00.16.10.16.20.16.30.16.40.16.50.18.00.18.10.18.20.18.30.18.40.20.00.20.10.20.20.22.00.22.10.22.20.24.00.24.10.24.20.24.30.24.40.24.50.24.60.70.80.91.0.01.0.0rc11.0.0rc21.0.0rc31.0.11.0.21.0.31.0.41.0.51.0.61.0.71.1.01.1.0rc11.1.0rc21.1.0rc31.1.0rc41.1.1 |
1.8.2 |
scrapyPyPI |
2.0.0 up to 2.6.0, plus listed versions 2.0.12.1.02.2.02.2.12.3.0 Show 4 moreShow less2.4.02.4.12.5.02.5.1 |
2.6.0 |
scrapyPyPI |
before 2.6.1, plus listed versions 0.10.4.23640.12.0.25500.14.10.14.20.14.3 Show 45 moreShow less0.14.40.16.00.16.10.16.20.16.30.16.40.16.50.18.00.18.10.18.20.18.30.18.40.20.00.20.10.20.20.22.00.22.10.22.20.24.00.24.10.24.20.24.30.24.40.24.50.24.60.70.80.91.0.01.0.0rc11.0.0rc21.0.0rc31.0.11.0.21.0.31.0.41.0.51.0.61.0.71.1.01.1.0rc11.1.0rc21.1.0rc31.1.0rc41.1.1 |
2.6.1 |
python-scrapyUbuntu:16.04:LTS |
All versions, plus listed versions 1.0.0-11.0.3-1 |
None known |
Show 7 moreShow less
| Package | Affected | Fixed |
|---|---|---|
python-scrapyUbuntu:Pro:18.04:LTS |
before 1.5.0-1ubuntu0.1~esm1, plus listed versions 1.3.0-1~exp21.4.0-11.5.0-1 |
1.5.0-1ubuntu0.1~esm1 |
python-scrapyUbuntu:Pro:20.04:LTS |
before 1.7.3-1ubuntu0.1~esm1, plus listed versions 1.7.3-1 |
1.7.3-1ubuntu0.1~esm1 |
python-scrapyUbuntu:Pro:22.04:LTS |
before 2.5.1-2ubuntu0.1~esm1, plus listed versions 2.4.1-22.5.1-2 |
2.5.1-2ubuntu0.1~esm1 |
python-scrapyUbuntu:Pro:18.04:LTS From an advisory covering 6 CVEs |
before 1.5.0-1ubuntu0.1~esm1, plus listed versions 1.3.0-1~exp21.4.0-11.5.0-1 |
1.5.0-1ubuntu0.1~esm1 |
python-scrapyUbuntu:Pro:20.04:LTS From an advisory covering 6 CVEs |
before 1.7.3-1ubuntu0.1~esm1, plus listed versions 1.7.3-1 |
1.7.3-1ubuntu0.1~esm1 |
python-scrapyUbuntu:Pro:22.04:LTS From an advisory covering 6 CVEs |
before 2.5.1-2ubuntu0.1~esm1, plus listed versions 2.4.1-22.5.1-2 |
2.5.1-2ubuntu0.1~esm1 |
python-scrapyUbuntu:Pro:24.04:LTS From an advisory covering 6 CVEs |
before 2.11.1-1ubuntu0.1~esm2, plus listed versions 2.10.0-12.11.0-12.11.0-22.11.1-1 |
2.11.1-1ubuntu0.1~esm2 |
History
| Recorded | Changed | Sources |
|---|---|---|
| affected, facts | OSV | |
| aliases | EUVD | |
| first indexed | CVE List, GitHub Advisories, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2022-0577 is a high vulnerability (CVSS 8.8) in Scrapy, published March 1, 2022. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 1.23%, the 69th percentile. Fixed in scrapy 1.8.2.
References
huntr.dev/bounties/3da527b1-2348-4f69-9e88-2e11a96ac585
github.com/scrapy/scrapy/commit/8ce01b3b76d4634f55067d6cfdf632ec70ba304a
lists.debian.org/debian-lts-announce/2022/03/msg00021.html
github.com/scrapy/scrapy/security/advisories/GHSA-cjvr-mfj7-j4j8
nvd.nist.gov/vuln/detail/CVE-2022-0577
github.com/pypa/advisory-database/tree/main/vulns/scrapy/PYSEC-2022-159.yaml
Show 13 moreShow less
github.com/advisories/GHSA-cjvr-mfj7-j4j8
github.com/CVEProject/cvelistV5/tree/main/cves/2022/0xxx/CVE-2022-0577.json
security-tracker.debian.org/tracker/CVE-2022-0577
github.com/scrapy/scrapy
ubuntu.com/security/CVE-2022-0577
cve.org/CVERecord?id=CVE-2022-0577
ubuntu.com/security/notices/USN-7476-1
ubuntu.com/security/CVE-2021-41125
ubuntu.com/security/CVE-2024-1892
ubuntu.com/security/CVE-2024-1968
ubuntu.com/security/CVE-2024-3572
ubuntu.com/security/CVE-2024-3574
suse.com/security/cve/CVE-2022-0577
Left out here: 60 versions. The JSON record has them.