CVE-2024-3574: Authorization Header Leak During Cross-Domain Redirect in scrapy/scrapy

Published Feb 15, 2024
·
Updated

Duplicate Advisory This advisory has been withdrawn because it is a duplicate of GHSA-cw9j-q3vf-hrrv. This link is maintained to preserve external references.

Original Description In scrapy versions before 2.11.1, an issue was identified where the Authorization header, containing credentials for server authentication, is leaked to a third-party site during a cross-domain redirect. This vulnerability arises from the failure to remove the Authorization header when redirecting across domains. The exposure of the Authorization header to unauthorized actors could potentially allow for account hijacking.

Other sources

Impact

When you send a request with the Authorization header to one domain, and the response asks to redirect to a different domain, Scrapy’s built-in redirect middleware creates a follow-up redirect request that keeps the original Authorization header, leaking its content to that second domain.

The right behavior would be to drop the Authorization header instead, in this scenario.

Patches

Upgrade to Scrapy 2.11.1.

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

Workarounds

If you cannot upgrade, make sure that you are not using the Authentication header, either directly or through some third-party plugin.

If you need to use that header in some requests, add "dontredirect": True to the request.meta dictionary of those requests to disable following redirects for them.

If you need to keep (same domain) redirect support on those requests, make sure you trust the target website not to redirect your requests to a different domain.

Acknowledgements

This security issue was reported by @ranjit-git through huntr.com.

GitHub

In scrapy version 2.10.1, an issue was identified where the Authorization header, containing credentials for server authentication, is leaked to a third-party site during a cross-domain redirect. This vulnerability arises from the failure to remove the Authorization header when redirecting across domains. The exposure of the Authorization header to unauthorized actors could potentially allow for account hijacking.

MITRE

Affected Software

4 affected componentsFixes available
pip/scrapy<1.8.4
1.8.4
pip/scrapy>=2<2.11.1
2.11.1
pip/scrapy<2.11.1
2.11.1
scrapy scrapy<2.11.1

Event History

Feb 15, 2024
Advisory Published
via GitHub·03:32 PM
Apr 16, 2024
CVE Published
via MITRE·12:00 AM
Data Sourced
via MITRE·12:00 AM
DescriptionSeverityWeakness
Data Sourced
via NVD·12:15 AM
DescriptionSeverityWeakness
Data Sourced
via NVD·12:15 AM
RemedyAffected Software
Withdrawn
via GitHub·02:05 PM
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is the severity of CVE-2024-3574?

The severity of CVE-2024-3574 is classified as medium due to exposure of sensitive information.

2

How do I fix CVE-2024-3574?

To fix CVE-2024-3574, upgrade to Scrapy version 2.11.1 or later.

3

Which versions of Scrapy are affected by CVE-2024-3574?

CVE-2024-3574 affects Scrapy versions prior to 2.11.1 and all versions before 1.8.4.

4

What is the impact of CVE-2024-3574?

CVE-2024-3574 may allow unauthorized access to sensitive data through the Authorization header.

5

Is CVE-2024-3574 a duplicate vulnerability?

Yes, CVE-2024-3574 is a duplicate advisory of GHSA-cw9j-q3vf-hrrv.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203