GHSA-rmqv-7v3j-mr7p: Duplicate Advisory: Scrapy decompression bomb vulnerability
7.5
CVSS Score
3.0
Basic Information
CVE ID
-
GHSA ID
EPSS Score
-
CWE
Published
4/16/2024
Updated
4/16/2024
KEV Status
No
Technology
Python
Technical Details
CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
scrapy | pip | < 2.11.1 | 2.11.1 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from improper handling of decompressed data size limits. The key evidence is:
- The CWE-409 (Data Amplification) classification and advisory description about decompression bombs
- Commit changes adding DOWNLOAD_MAXSIZE/DOWNLOAD_WARNSIZE checks during decompression
- Removal of bulk decompression in httpcompression.py and replacement with chunked decompression in _compression.py
- Test cases added for 'bomb' payloads across multiple compression formats
The original _decode() and gunzip() functions lacked incremental size tracking, allowing small compressed inputs to decompress to massive outputs. The patch introduced chunked decompression with size monitoring in _inflate/_unbrotli/_unzstd helpers, confirming the vulnerability existed in these functions.