p PatchFirst

CVE-2024-1968

CVE-2024-1968 · Authorization Header Leakage in scrapy/scrapy on Scheme Change Redirects

This page contains facts from public vulnerability sources. Check the original advisory before updating.

In scrapy/scrapy, an issue was identified where the Authorization header is not removed during redirects that only change the scheme (e.g., HTTPS to HTTP) but remain within the same domain. This behavior contravenes the Fetch standard, which mandates the removal of Authorization headers in cross-origin requests when the scheme, host, or port changes. Consequently, when a redirect downgrades from HTTPS to HTTP, the Authorization header may be inadvertently exposed in plaintext, leading to potential sensitive information disclosure to unauthorized actors. The flaw is located in the _build_redirect_request function of the redirect middleware.

CVSS 7.5 · High · EPSS 0.7% · Fix available

Published
Updated

Stack: system · python

Affected products and versions

  • scrapy/scrapy

    Versions
    • ≥ unspecified, < 2.11.2: Affected (custom)

    Update to 2.11.2

  • python-scrapy 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.8.0-2
    • 2.9.0-1
    • 2.9.0-1~exp1
    • 2.9.0-2
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-scrapy Debian:13

    Affected ranges
    • ECOSYSTEM: < 2.11.2-1

    Update to 2.11.2-1

  • python-scrapy Debian:14

    Affected ranges
    • ECOSYSTEM: < 2.11.2-1

    Update to 2.11.2-1

  • scrapy PyPI

    Versions
    • 0.10.4.2364
    • 0.12.0.2550
    • 0.14.1
    • 0.14.2
    • 0.14.3
    • 0.14.4
    • 0.16.0
    • 0.16.1
    • 0.16.2
    • 0.16.3
    • 0.16.4
    • 0.16.5
    • 0.18.0
    • 0.18.1
    • 0.18.2
    • 0.18.3
    • 0.18.4
    • 0.20.0
    • 0.20.1
    • 0.20.2
    • 0.22.0
    • 0.22.1
    • 0.22.2
    • 0.24.0
    • 0.24.1
    • 0.24.2
    • 0.24.3
    • 0.24.4
    • 0.24.5
    • 0.24.6
    • 0.7
    • 0.8
    • 0.9
    • 1.0.0
    • 1.0.0rc1
    • 1.0.0rc2
    • 1.0.0rc3
    • 1.0.1
    • 1.0.2
    • 1.0.3
    • 1.0.4
    • 1.0.5
    • 1.0.6
    • 1.0.7
    • 1.1.0
    • 1.1.0rc1
    • 1.1.0rc2
    • 1.1.0rc3
    • 1.1.0rc4
    • 1.1.1
    • 1.1.2
    • 1.1.3
    • 1.1.4
    • 1.2.0
    • 1.2.1
    • 1.2.2
    • 1.2.3
    • 1.3.0
    • 1.3.1
    • 1.3.2
    • 1.3.3
    • 1.4.0
    • 1.5.0
    • 1.5.1
    • 1.5.2
    • 1.6.0
    • 1.7.0
    • 1.7.1
    • 1.7.2
    • 1.7.3
    • 1.7.4
    • 1.8.0
    • 1.8.1
    • 1.8.2
    • 1.8.3
    • 1.8.4
    • 2.0.0
    • 2.0.1
    • 2.1.0
    • 2.10.0
    • 2.10.1
    • 2.11.0
    • 2.11.1
    • 2.2.0
    • 2.2.1
    • 2.3.0
    • 2.4.0
    • 2.4.1
    • 2.5.0
    • 2.5.1
    • 2.6.0
    • 2.6.1
    • 2.6.2
    • 2.6.3
    • 2.7.0
    • 2.7.1
    • 2.8.0
    • 2.9.0
    Affected ranges
    • ECOSYSTEM: < 2.11.2

    Update to 2.11.2

  • scrapy PyPI

    Versions
    • 0.10.4.2364
    • 0.12.0.2550
    • 0.14.1
    • 0.14.2
    • 0.14.3
    • 0.14.4
    • 0.16.0
    • 0.16.1
    • 0.16.2
    • 0.16.3
    • 0.16.4
    • 0.16.5
    • 0.18.0
    • 0.18.1
    • 0.18.2
    • 0.18.3
    • 0.18.4
    • 0.20.0
    • 0.20.1
    • 0.20.2
    • 0.22.0
    • 0.22.1
    • 0.22.2
    • 0.24.0
    • 0.24.1
    • 0.24.2
    • 0.24.3
    • 0.24.4
    • 0.24.5
    • 0.24.6
    • 0.7
    • 0.8
    • 0.9
    • 1.0.0
    • 1.0.0rc1
    • 1.0.0rc2
    • 1.0.0rc3
    • 1.0.1
    • 1.0.2
    • 1.0.3
    • 1.0.4
    • 1.0.5
    • 1.0.6
    • 1.0.7
    • 1.1.0
    • 1.1.0rc1
    • 1.1.0rc2
    • 1.1.0rc3
    • 1.1.0rc4
    • 1.1.1
    • 1.1.2
    • 1.1.3
    • 1.1.4
    • 1.2.0
    • 1.2.1
    • 1.2.2
    • 1.2.3
    • 1.3.0
    • 1.3.1
    • 1.3.2
    • 1.3.3
    • 1.4.0
    • 1.5.0
    • 1.5.1
    • 1.5.2
    • 1.6.0
    • 1.7.0
    • 1.7.1
    • 1.7.2
    • 1.7.3
    • 1.7.4
    • 1.8.0
    • 1.8.1
    • 1.8.2
    • 1.8.3
    • 1.8.4
    • 2.0.0
    • 2.0.1
    • 2.1.0
    • 2.10.0
    • 2.10.1
    • 2.11.0
    • 2.11.1
    • 2.2.0
    • 2.2.1
    • 2.3.0
    • 2.4.0
    • 2.4.1
    • 2.5.0
    • 2.5.1
    • 2.6.0
    • 2.6.1
    • 2.6.2
    • 2.6.3
    • 2.7.0
    • 2.7.1
    • 2.8.0
    • 2.9.0
    • 1.2.0dev2
    • scrapy-0.25.1-sc
    • hojo
    • 0.25.1
    • 0.25.0
    • 0.23.0
    • 0.21.0
    • 0.17.0
    • 0.15.1
    • 0.14.0
    • 0.15.0
    • 0.10.3
    • 0.10.2
    • 0.10.1
    • 0.10
    • 0.10-rc1
    • 0.9-rc1
    • 0.7-rc1
    Affected ranges
    • GIT: < 1d0502f25bbe55a22899af915623fda1aaeb9dd8
    • ECOSYSTEM: < 2.0.0 ∪ ≥ 2.0.0, < 2.11.2

    Update to 2.0.0; Update to 2.11.2

  • python-scrapy Ubuntu:16.04:LTS

    Versions
    • 1.0.0-1
    • 1.0.3-1
    Affected ranges
    • ECOSYSTEM: (−∞, +∞)

    No fix published

  • python-scrapy Ubuntu:Pro:18.04:LTS

    Versions
    • 1.3.0-1~exp2
    • 1.4.0-1
    • 1.5.0-1
    Affected ranges
    • ECOSYSTEM: < 1.5.0-1ubuntu0.1~esm1

    Update to 1.5.0-1ubuntu0.1~esm1

  • python-scrapy Ubuntu:Pro:20.04:LTS

    Versions
    • 1.7.3-1
    Affected ranges
    • ECOSYSTEM: < 1.7.3-1ubuntu0.1~esm1

    Update to 1.7.3-1ubuntu0.1~esm1

  • python-scrapy Ubuntu:Pro:22.04:LTS

    Versions
    • 2.4.1-2
    • 2.5.1-2
    Affected ranges
    • ECOSYSTEM: < 2.5.1-2ubuntu0.1~esm1

    Update to 2.5.1-2ubuntu0.1~esm1

  • python-scrapy Ubuntu:Pro:24.04:LTS

    Versions
    • 2.10.0-1
    • 2.11.0-1
    • 2.11.0-2
    • 2.11.1-1
    Affected ranges
    • ECOSYSTEM: < 2.11.1-1ubuntu0.1~esm2

    Update to 2.11.1-1ubuntu0.1~esm2

Original sources

Check your server →