Skip to content
Heist/ feed
UnratedFix available

DEBIAN-CVE-2026-84366

Type: advisorySource: OSV1 source record

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.

Announced Source revision 1
Original source ↗

DEBIAN-CVE-2026-84366

Primary source · Revision 1

Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.

Security context

Source reference: osv:DEBIAN-CVE-2026-84366

python-scrapy

Source reference: /affected/0/package/name

Affected versions
2.10.0-1

Source reference: /affected/0/versions

2.11.0-1

Source reference: /affected/0/versions

2.11.0-2

Source reference: /affected/0/versions

2.11.1-1

Source reference: /affected/0/versions

2.11.1-2

Source reference: /affected/0/versions

2.11.2-1

Source reference: /affected/0/versions

2.11.2-2

Source reference: /affected/0/versions

2.11.2-3

Source reference: /affected/0/versions

2.12.0-1

Source reference: /affected/0/versions

2.12.0-2

Source reference: /affected/0/versions

2.13.1-1~exp1

Source reference: /affected/0/versions

2.13.3-1

Source reference: /affected/0/versions

2.13.3-1~exp1

Source reference: /affected/0/versions

2.13.4-1

Source reference: /affected/0/versions

2.13.4-2

Source reference: /affected/0/versions

2.14.0-1

Source reference: /affected/0/versions

2.14.1-1

Source reference: /affected/0/versions

2.14.2-1

Source reference: /affected/0/versions

2.15.1-1

Source reference: /affected/0/versions

2.16.0-1

Source reference: /affected/0/versions

2.16.0-2

Source reference: /affected/0/versions

2.17.0-1

Source reference: /affected/0/versions

2.18.0-1

Source reference: /affected/0/versions

2.18.0-2

Source reference: /affected/0/versions

2.8.0-2

Source reference: /affected/0/versions

2.9.0-1

Source reference: /affected/0/versions

2.9.0-1~exp1

Source reference: /affected/0/versions

2.9.0-2

Source reference: /affected/0/versions

Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

python-scrapy

Source reference: /affected/1/package/name

Affected versions
2.12.0-2

Source reference: /affected/1/versions

2.13.1-1~exp1

Source reference: /affected/1/versions

2.13.3-1

Source reference: /affected/1/versions

2.13.3-1~exp1

Source reference: /affected/1/versions

2.13.4-1

Source reference: /affected/1/versions

2.13.4-2

Source reference: /affected/1/versions

2.14.0-1

Source reference: /affected/1/versions

2.14.1-1

Source reference: /affected/1/versions

2.14.2-1

Source reference: /affected/1/versions

2.15.1-1

Source reference: /affected/1/versions

2.16.0-1

Source reference: /affected/1/versions

2.16.0-2

Source reference: /affected/1/versions

2.17.0-1

Source reference: /affected/1/versions

2.18.0-1

Source reference: /affected/1/versions

2.18.0-2

Source reference: /affected/1/versions

Fixed versions
Not stated in this record
Prerequisites
Not stated in this record

python-scrapy

Source reference: /affected/2/package/name

Affected versions
2.12.0-2

Source reference: /affected/2/versions

2.13.1-1~exp1

Source reference: /affected/2/versions

2.13.3-1

Source reference: /affected/2/versions

2.13.3-1~exp1

Source reference: /affected/2/versions

2.13.4-1

Source reference: /affected/2/versions

2.13.4-2

Source reference: /affected/2/versions

2.14.0-1

Source reference: /affected/2/versions

2.14.1-1

Source reference: /affected/2/versions

2.14.2-1

Source reference: /affected/2/versions

2.15.1-1

Source reference: /affected/2/versions

2.16.0-1

Source reference: /affected/2/versions

2.16.0-2

Source reference: /affected/2/versions

Fixed versions
2.17.0-1

Source reference: /affected/2/ranges

Prerequisites
Not stated in this record

Structured affected-version data

Original package identities and version rules from this source.

[
  {
    "ranges": [
      {
        "type": "ECOSYSTEM",
        "events": [
          {
            "introduced": "0"
          }
        ]
      }
    ],
    "package": {
      "name": "python-scrapy",
      "purl": "pkg:deb/debian/python-scrapy?arch=source&distro=bookworm",
      "ecosystem": "Debian:12"
    },
    "versions": [
      "2.10.0-1",
      "2.11.0-1",
      "2.11.0-2",
      "2.11.1-1",
      "2.11.1-2",
      "2.11.2-1",
      "2.11.2-2",
      "2.11.2-3",
      "2.12.0-1",
      "2.12.0-2",
      "2.13.1-1~exp1",
      "2.13.3-1",
      "2.13.3-1~exp1",
      "2.13.4-1",
      "2.13.4-2",
      "2.14.0-1",
      "2.14.1-1",
      "2.14.2-1",
      "2.15.1-1",
      "2.16.0-1",
      "2.16.0-2",
      "2.17.0-1",
      "2.18.0-1",
      "2.18.0-2",
      "2.8.0-2",
      "2.9.0-1",
      "2.9.0-1~exp1",
      "2.9.0-2"
    ],
    "database_specific": {
      "source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-84366.json"
    },
    "ecosystem_specific": {
      "urgency": "not yet assigned"
    }
  },
  {
    "ranges": [
      {
        "type": "ECOSYSTEM",
        "events": [
          {
            "introduced": "0"
          }
        ]
      }
    ],
    "package": {
      "name": "python-scrapy",
      "purl": "pkg:deb/debian/python-scrapy?arch=source&distro=trixie",
      "ecosystem": "Debian:13"
    },
    "versions": [
      "2.12.0-2",
      "2.13.1-1~exp1",
      "2.13.3-1",
      "2.13.3-1~exp1",
      "2.13.4-1",
      "2.13.4-2",
      "2.14.0-1",
      "2.14.1-1",
      "2.14.2-1",
      "2.15.1-1",
      "2.16.0-1",
      "2.16.0-2",
      "2.17.0-1",
      "2.18.0-1",
      "2.18.0-2"
    ],
    "database_specific": {
      "source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-84366.json"
    },
    "ecosystem_specific": {
      "urgency": "not yet assigned"
    }
  },
  {
    "ranges": [
      {
        "type": "ECOSYSTEM",
        "events": [
          {
            "introduced": "0"
          },
          {
            "fixed": "2.17.0-1"
          }
        ]
      }
    ],
    "package": {
      "name": "python-scrapy",
      "purl": "pkg:deb/debian/python-scrapy?arch=source&distro=forky",
      "ecosystem": "Debian:14"
    },
    "versions": [
      "2.12.0-2",
      "2.13.1-1~exp1",
      "2.13.3-1",
      "2.13.3-1~exp1",
      "2.13.4-1",
      "2.13.4-2",
      "2.14.0-1",
      "2.14.1-1",
      "2.14.2-1",
      "2.15.1-1",
      "2.16.0-1",
      "2.16.0-2"
    ],
    "database_specific": {
      "source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-84366.json"
    },
    "ecosystem_specific": {
      "urgency": "not yet assigned"
    }
  }
]

Publisher severity

No explicit severity was provided.

Event
#58248 · Revision 1
Added to Heist Feed
Publisher date
Read the original announcement