What’s Vulnerable › Vulnerabilities
CVE-2026-3644: Incomplete control character validation in http.cookies
- Severity: high (CVSS 7.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.5% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-03-16 · updated 2026-08-13
- Weakness: CWE-20
Description
The fix for CVE-2026-0672, which rejected control characters in http.cookies.Morsel, was incomplete. The Morsel.update(), |= operator, and unpickling paths were not patched, allowing control characters to bypass input validation. Additionally, BaseCookie.js_output() lacked the output validation applied to BaseCookie.output().
Affected products
- Python: before 3.13.13; from 3.14.0 before 3.14.4; 3.15.0-alpha1, 3.15.0-alpha2, 3.15.0-alpha3, 3.15.0-alpha4, 3.15.0-alpha5, 3.15.0-alpha6 (+1) — fixed in 3.13.13, 3.14.4
How to fix
Upgrade to a fixed version: Python 3.13.13, 3.14.4. Check the vendor advisory for mitigations.
References
- https://github.com/python/cpython/commit/3974092b037f9a3b000fb15b48ea61ce3b25d330
- https://github.com/python/cpython/commit/556aa098e738b127c714866f819b4abe2f7593d8
- https://github.com/python/cpython/commit/57e88c1cf95e1481b94ae57abe1010469d47a6b4
- https://github.com/python/cpython/commit/62ceb396fcbe69da1ded3702de586f4072b590dd
- https://github.com/python/cpython/commit/d16ecc6c3626f0e2cc8f08c309c83934e8a979dd
- https://github.com/python/cpython/commit/dae4b1a21f8df4570e30986affd61bbe4ade4cef
- https://github.com/python/cpython/issues/145599
- https://github.com/python/cpython/pull/145600
- https://mail.python.org/archives/list/security-announce@python.org/thread/H6CADMBCDRFGWCMOXWUIHFJNV43GABJ7/
Get alerted when CVE-2026-3644 or the next vulnerability affects your stack