🔍 CVE-2026-84366

7.4
CVSS Score
HIGH
2026-09-01
2026-09-09 21:09
✅ 완료

🇰🇷 한글 설명

Scrapy 2.17.0 미만 버전의 S3DownloadHandler는 'is_secure' 설정이 명시되지 않은 경우 S3 요청을 평문 HTTP로 전송합니다. 이로 인해 네트워크 공격자가 S3 버킷 경로, AWS 인증 헤더, 임시 자격 증명 및 객체 내용을 탈취하거나 데이터를 조작할 수 있습니다.

💡 쉬운 설명

웹 데이터를 수집하는 Scrapy 도구가 S3 저장소와 통신할 때 데이터를 암호화하지 않고 그대로 보낼 수 있는 보안 결함이 발견되었습니다. 해커가 중간에서 이 데이터를 훔쳐보거나 가짜 데이터를 끼워 넣어 수집 결과물을 오염시킬 수 있습니다.

🇺🇸 원문 (English)

Scrapy is a high-level web crawling and scraping framework for Python. Prior to 2.17.0, in scrapy/core/downloader/handlers/s3.py, Scrapy's S3DownloadHandler converts an S3-scheme bucket and key request into a plaintext HTTP request to the corresponding S3 endpoint unless request.meta["is_secure"] is explicitly enabled, then signs and sends the plaintext request with configured AWS credentials. A network attacker who can observe traffic between Scrapy and S3 can read the bucket and key path, AWS Authorization header, X-Amz-Security-Token when temporary credentials are used, S3 object contents, and S3 response headers. An active man-in-the-middle attacker can also modify the plaintext S3 response body, status code, and headers before Scrapy processes them, causing scraped-data poisoning, poisoned exports, HTTP cache poisoning when caching is enabled, or influence over later crawl targets through forged redirects or attacker-controlled links. Users making S3-scheme requests with AWS credentials are affected. This issue is fixed in version 2.17.0.

📍 영향받는 시스템

Scrapy version < 2.17.0 (S3-scheme requests using AWS credentials)

⚔️ 공격 벡터

네트워크 트래픽을 감시하거나 중간에서 가로채는 Man-in-the-Middle (MitM) 공격

🛡️ 대응 방법

Scrapy를 2.17.0 버전 이상으로 업데이트하거나, S3 요청 시 request.meta['is_secure']를 True로 설정하십시오.

🔧 검증 코드

출력된 Scrapy 버전이 2.17.0 미만이면 취약한 상태입니다.

Shell / Script
pip show scrapy | grep Version

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N

💻 영향받는 소프트웨어

Python