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().
Product status
Any version before 3.13.13
3.14.0 (python) before 3.14.4
3.15.0a1 (python) before 3.15.0a8
Credits
Stan Ulbrych
Stan Ulbrych
Victor Stinner
Seth Larson
Vyom Yadav
References
mail.python.org/.../thread/H6CADMBCDRFGWCMOXWUIHFJNV43GABJ7/
github.com/...ommit/57e88c1cf95e1481b94ae57abe1010469d47a6b4
github.com/python/cpython/issues/145599
github.com/python/cpython/pull/145600
github.com/...ommit/62ceb396fcbe69da1ded3702de586f4072b590dd
github.com/...ommit/d16ecc6c3626f0e2cc8f08c309c83934e8a979dd