Vulnerability DatabaseGHSA-23j4-mw76-5v7h

GHSA-23j4-mw76-5v7h
Python vulnerability analysis and mitigation

Overview

Scrapy versions prior to 2.11.2 contained a vulnerability where the application followed redirects regardless of the URL protocol, affecting URLs using data://, file://, ftp://, s3://, and other schemes defined in the DOWNLOAD_HANDLERS setting. The vulnerability was discovered and reported by @mvsantos, and was patched in version 2.11.2. The issue has been assigned identifier GHSA-23j4-mw76-5v7h with a CVSS score of 6.5 (Moderate severity) (GitHub Advisory).

Technical details

The vulnerability stems from Scrapy's redirect handling mechanism where HTTP redirects were not properly restricted to only http:// and https:// schemes. The issue affects both the RedirectMiddleware and MetaRefreshMiddleware components. The vulnerability has been assigned a CVSS v3.1 base score of 6.5 with vector string CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N, indicating network attack vector, low attack complexity, low privileges required, no user interaction needed, unchanged scope, and high impact on confidentiality (GitHub Advisory).

Impact

A malicious actor with write access to spider start requests (e.g., ability to define start_urls) and read access to spider output could exploit this vulnerability to: read contents of local files via file:// scheme redirects, obtain FTP credentials by redirecting to malicious FTP servers, and access S3 content using configured credentials through s3:// redirects. The severity of data exposure depends on how the spider implements its parsing - spiders that output entire response contents are more vulnerable than those that extract specific fragments (GitHub Advisory).

Exploitability

The vulnerability requires an attacker to have write access to the spider's start requests and read access to the spider's output. The attack can be executed remotely with low complexity and requires low privileges. No user interaction is needed for exploitation (GitHub Advisory).

Mitigation and workarounds

The primary mitigation is to upgrade to Scrapy version 2.11.2 or later. For users unable to upgrade immediately, a workaround is available by replacing the built-in retry middlewares (RedirectMiddleware and MetaRefreshMiddleware) with custom implementations that incorporate the fix from Scrapy 2.11.2. Users implementing this workaround should verify that their custom implementation works as intended (GitHub Advisory).

Additional resources


SourceThis report was generated using AI

Related Python vulnerabilities:

CVE ID

Severity

Score

Technologies

Component name

CISA KEV exploit

Has fix

Published date

CVE-2026-61539CRITICAL10
  • Python logoPython
  • xinference
NoYesAug 21, 2026
CVE-2026-49360HIGH7.8
  • Python logoPython
  • recce
NoYesAug 21, 2026
CVE-2026-68508HIGH7.8
  • Python logoPython
  • hydra-core
NoYesAug 21, 2026
CVE-2026-54457HIGH7.7
  • Python logoPython
  • tensorzero
NoYesAug 21, 2026
CVE-2026-43980MEDIUM6.3
  • Python logoPython
  • malla
NoNoAug 21, 2026

Free Vulnerability Assessment

Benchmark your Cloud Security Posture

Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.

Request assessment

Get a personalized demo

Ready to see Wiz in action?

"Best User Experience I have ever seen, provides full visibility to cloud workloads."
David EstlickCISO
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
Adam FletcherChief Security Officer
"We know that if Wiz identifies something as critical, it actually is."
Greg PoniatowskiHead of Threat and Vulnerability Management