CVE-2022-23607: Unsafe handling of user-specified cookies in treq

Published Feb 1, 2022
·
Updated

Impact

Treq's request methods (treq.get, treq.post, HTTPClient.request, HTTPClient.get, etc.) accept cookies as a dictionary, for example:

py treq.get('https://example.com/', cookies={'session': '1234'})

Such cookies are not bound to a single domain, and are therefore sent to every domain ("supercookies"). This can potentially cause sensitive information to leak upon an HTTP redirect to a different domain., e.g. should https://example.com redirect to http://cloudstorageprovider.com the latter will receive the cookie session.

Patches

Treq 2021.1.0 and later bind cookies given to request methods (treq.request, treq.get, HTTPClient.request, HTTPClient.get, etc.) to the origin of the url parameter.

Workarounds

Instead of passing a dictionary as the cookies argument, pass a http.cookiejar.CookieJar instance with properly domain- and scheme-scoped cookies in it:

py from http.cookiejar import CookieJar from requests.cookies import createcookie

jar = CookieJar() jar.addcookie( createcookie( name='session', value='1234', domain='example.com', secure=True, ), ) client = HTTPClient(cookies=jar) client.get('https://example.com/')

References

Originally reported at huntr.dev A related issue in the handling of HTTP basic authentication was addressed in Twisted 22.1 (GHSA-92x2-jw7w-xvvx, CVE-2022-21712).

Other sources

treq is an HTTP library inspired by requests but written on top of Twisted's Agents. Treq's request methods (treq.get, treq.post, etc.) and treq.client.HTTPClient constructor accept cookies as a dictionary. Such cookies are not bound to a single domain, and are therefore sent to every domain ("supercookies"). This can potentially cause sensitive information to leak upon an HTTP redirect to a different domain., e.g. should https://example.com redirect to http://cloudstorageprovider.com the latter will receive the cookie session. Treq 2021.1.0 and later bind cookies given to request methods (treq.request, treq.get, HTTPClient.request, HTTPClient.get, etc.) to the origin of the url parameter. Users are advised to upgrade. For users unable to upgrade Instead of passing a dictionary as the cookies argument, pass a http.cookiejar.CookieJar instance with properly domain- and scheme-scoped cookies in it.

Affected Software

3 affected componentsFixes available
pip/treq<22.1.0
22.1.0
twistedmatrix Treq>=21.1.0<22.1.0
Debian Debian Linux=9.0

Event History

Feb 1, 2022
Advisory Published
via GitHub·12:43 AM
CVE Published
via MITRE·11:01 AM
Data Sourced
via MITRE·11:01 AM
DescriptionSeverityWeakness
Free Weekly Intel

Don't miss critical vulnerabilities

Join thousands of security professionals who receive our weekly digest of trending CVEs, zero-days, and exploited vulnerabilities.

No spam. Unsubscribe anytime.

Frequently Asked Questions

1

What is CVE-2022-23607?

CVE-2022-23607 is a high severity vulnerability in the treq HTTP library that allows cookies to be sent to every domain instead of a single domain.

2

How does CVE-2022-23607 affect Twistedmatrix Treq?

Twistedmatrix Treq versions between 21.1.0 and 22.1.0 are affected by CVE-2022-23607.

3

How does CVE-2022-23607 affect Debian Debian Linux?

Debian Debian Linux version 9.0 is affected by CVE-2022-23607.

4

What is the severity of CVE-2022-23607?

CVE-2022-23607 has a severity rating of 7.4 (high).

5

How can I fix CVE-2022-23607?

To fix CVE-2022-23607, upgrade Twistedmatrix Treq to a version above 22.1.0 or apply the necessary security patches for Debian Debian Linux 9.0.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203