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
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Python Software Foundation CPython
Default version status: unaffected
0 to < 3.10.21affected3.11.0 to < 3.11.16affected3.12.0 to < 3.12.14affected3.13.0 to < 3.13.13affected3.14.0 to < 3.14.4affected3.15.0a1 to < 3.15.0a8affected
References
- https://mail.python.org/archives/list/security-announce@python.org/thread/H6CADMBCDRFGWCMOXWUIHFJNV43GABJ7/ ↗
- https://github.com/python/cpython/commit/57e88c1cf95e1481b94ae57abe1010469d47a6b4 ↗
- https://github.com/python/cpython/issues/145599 ↗
- https://github.com/python/cpython/pull/145600 ↗
- https://github.com/python/cpython/commit/62ceb396fcbe69da1ded3702de586f4072b590dd ↗
- https://github.com/python/cpython/commit/d16ecc6c3626f0e2cc8f08c309c83934e8a979dd ↗
- https://github.com/python/cpython/commit/556aa098e738b127c714866f819b4abe2f7593d8 ↗
- https://github.com/python/cpython/commit/dae4b1a21f8df4570e30986affd61bbe4ade4cef ↗
- https://github.com/python/cpython/commit/3974092b037f9a3b000fb15b48ea61ce3b25d330 ↗