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().
{
"cna_assigner": "PSF",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/3xxx/CVE-2026-3644.json"
}{
"extracted_events": [
{
"cpe": "cpe:2.3:a:python:python:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "0"
},
{
"fixed": "3.13.13"
}
],
"source": "CPE_RANGE"
},
{
"cpe": "cpe:2.3:a:python:python:*:*:*:*:*:*:*:*",
"range": [
{
"introduced": "3.14.0"
},
{
"fixed": "3.14.4"
}
],
"source": "CPE_RANGE"
},
{
"range": [
{
"fixed": "3974092b037f9a3b000fb15b48ea61ce3b25d330"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "556aa098e738b127c714866f819b4abe2f7593d8"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "57e88c1cf95e1481b94ae57abe1010469d47a6b4"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "62ceb396fcbe69da1ded3702de586f4072b590dd"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "d16ecc6c3626f0e2cc8f08c309c83934e8a979dd"
}
],
"source": "REFERENCES_COMMIT"
},
{
"range": [
{
"fixed": "dae4b1a21f8df4570e30986affd61bbe4ade4cef"
}
],
"source": "REFERENCES_COMMIT"
}
]
}