---
id: CVE-2026-84366
title: Scrapy is a high-level web crawling and scraping framework for Python
summary: >-
  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 th…
severity: high
cvss: 7.4
cvssVector: 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N'
cwe:
  - CWE-319
vendor: scrapy
product: scrapy
affected:
  - scrapy < 2.17.0
patched:
  - scrapy 2.17
published: '2026-09-01'
updated: '2026-09-09'
sourceUpdated: '2026-09-09T21:09:13.080'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-84366'
references:
  - url: >-
      https://github.com/scrapy/scrapy/commit/9523e1ec8c41fde265a26d14563d178b6f1ad04b
    label: security-advisories@github.com
  - url: 'https://github.com/scrapy/scrapy/releases/tag/2.17.0'
    label: security-advisories@github.com
  - url: 'https://github.com/scrapy/scrapy/security/advisories/GHSA-76g3-c3x4-crvx'
    label: security-advisories@github.com
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-84366'
  - url: 'https://github.com/advisories/GHSA-76g3-c3x4-crvx'
  - url: 'https://github.com/scrapy/scrapy'
  - url: 'https://pypi.org/project/scrapy'
tags:
  - nvd
  - ghsa
  - pip
  - osv
epss: 0.0016
epssPercentile: 0.05606
aliases:
  - GHSA-76g3-c3x4-crvx
  - PYSEC-2026-3918
ecosystem: pip
ingestedAt: '2026-09-02T22:51:44.210Z'
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Package advisory (CVE-2026-84366)

Affected packages:

- `scrapy < 2.17.0`

Patched in:

- `scrapy 2.17`

Source: https://github.com/advisories/GHSA-76g3-c3x4-crvx
