Skip to content

Scrapy cookie-setting is not restricted based on the public suffix list

Moderate severity GitHub Reviewed Published Mar 1, 2022 in scrapy/scrapy • Updated Nov 15, 2023

Package

pip scrapy (pip)

Affected versions

< 1.8.2
>= 2.0.0, < 2.6.0

Patched versions

1.8.2
2.6.0

Description

Impact

Responses from domain names whose public domain name suffix contains 1 or more periods (e.g. responses from example.co.uk, given its public domain name suffix is co.uk) are able to set cookies that are included in requests to any other domain sharing the same domain name suffix.

Patches

Upgrade to Scrapy 2.6.0, which restricts cookies with their domain set to any of those in the public suffix list.

If you are using Scrapy 1.8 or a lower version, and upgrading to Scrapy 2.6.0 is not an option, you may upgrade to Scrapy 1.8.2 instead.

Workarounds

The only workaround for unpatched versions of Scrapy is to disable cookies altogether, or limit target domains to a subset that does not include domain names with one of the public domain suffixes affected (those with 1 or more periods).

References

For more information

If you have any questions or comments about this advisory:

References

@Gallaecio Gallaecio published to scrapy/scrapy Mar 1, 2022
Published to the GitHub Advisory Database Mar 1, 2022
Reviewed Mar 1, 2022
Last updated Nov 15, 2023

Severity

Moderate

Weaknesses

No CWEs

CVE ID

No known CVE

GHSA ID

GHSA-mfjm-vh54-3f96

Source code

Loading Checking history
See something to contribute? Suggest improvements for this vulnerability.