Read the docs
TI-2024-38576 Aliases GHSA-jm3v-qxmh-hxwv

Scrapy's redirects ignoring scheme-specific proxy settings

Priority LOW 38Published · Updated

Key facts

Attack vector
—
Privileges required
—
User interaction
—
Attack complexity
—
Impact type
—
Confidentiality · integrity · availability
—
Fix status
Fixed

No CVSS vector from any source. Fix status from GitHub.

Summary

### Impact When using system proxy settings, which are scheme-specific (i.e. specific to `http://` or `https://` URLs), Scrapy was not accounting for scheme changes during redirects. For example, an HTTP request would use the proxy configured for HTTP and, when redirected to an HTTPS URL, the new HTTPS request would still use the proxy configured for HTTP instead of switching to the proxy configured for HTTPS. Same the other way around. If you have different proxy configurations for HTTP and HTTPS in your system for security reasons (e.g., maybe you don’t want one of your proxy providers to be aware of the URLs that you visit with the other one), this would be a security issue. ### Patches Upgrade to Scrapy 2.11.2. ### Workarounds Replace the built-in retry middlewares (`RedirectMiddleware` and `MetaRefreshMiddleware`) and the `HttpProxyMiddleware` middleware with custom ones that implement the fix from Scrapy 2.11.2, and verify that they work as intended. ### References This security issue was reported by @redapple at https://github.com/scrapy/scrapy/issues/767.

Why it matters now

Fix Fixed Scrapy (PyPI): 2.11.2

SSVC decision points

Not available: CISA has not published SSVC decision points for this record.

Affected products

VendorProductAffected versionsFixed inStatusSource
—Scrapy (PyPI)before 2.11.22.11.2Patch availableGHSA-jm3v-qxmh-hxwv
  • Scrapy (PyPI) Vendor— Affected before 2.11.2 Fixed in 2.11.2 Patch available GHSA-jm3v-qxmh-hxwv

Remediation

  • Fix · GHSA-jm3v-qxmh-hxwv Scrapy (PyPI) Fixed in 2.11.2 Advisory →

Timeline

  1. 2026-10-03 Threatist record created from GHSA-jm3v-qxmh-hxwv

References

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences