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().
Published: 2026-03-16
Score: 6 Medium
EPSS: < 1% Very Low
KEV: No
Impact: HTTP Header Injection/Information Disclosure
Action: Apply Patch
AI Analysis

Impact

The vulnerability arises from an incomplete implementation of control‑character validation within Python’s http.cookies module. Specifically, the Morsel.update() method, the bitwise OR assignment operator (|=), and the unpickling process were not patched to reject control characters, allowing them to bypass the intended checks. Additionally, BaseCookie.js_output() omitted the output validation present in BaseCookie.output(), creating another avenue for malicious characters to be processed by the cookie handling logic. This flaw can enable an attacker to inject arbitrary cookie values or manipulate HTTP headers, potentially leading to header injection, cookie poisoning, or other injection‑related attacks.

Affected Systems

The affected vendor is the Python Software Foundation, product CPython. Specific version information was not included in the CVE data, so affected releases cannot be listed precisely.

Risk and Exploitability

The CVSS score of 6 indicates a medium severity impact. No EPSS data is available, and the vulnerability is not listed in the CISA KEV catalog, suggesting that broad, automated exploitation is not yet documented. The likely attack vector is remote, as crafted HTTP requests containing control characters can be sent to any Python application that uses the http.cookies module to parse incoming cookies. If the application parses user‑supplied cookies without prior validation, an attacker could potentially alter HTTP response headers or inject additional cookies, leading to information disclosure or session hijacking. The absence of detailed exploitation proofs limits the assessment, but the medium score reflects a non‑zero risk when the flaw is present in production code.

Generated by OpenCVE AI on March 17, 2026 at 01:22 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade CPython to the latest release containing the complete control‑character validation fix for http.cookies, as provided in the linked commit history.
  • Validate or sanitize all cookie input before passing it to http.cookies.Morsel or any related functions to eliminate any remaining control characters.
  • If upgrading immediately is not possible, consider implementing a temporary check that rejects cookie values containing non‑printable characters or other disallowed patterns.
  • Monitor application logs for anomalous cookie values or repeated header injection attempts, and apply additional defensive coding practices such as using parameterized headers and enforcing strict content‑type validation.

Generated by OpenCVE AI on March 17, 2026 at 01:22 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 17 Mar 2026 10:00:00 +0000

Type Values Removed Values Added
First Time appeared Python
Python cpython
Vendors & Products Python
Python cpython

Tue, 17 Mar 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-791
References
Metrics threat_severity

None

cvssV3_1

{'score': 5.4, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N'}

threat_severity

Moderate


Mon, 16 Mar 2026 19:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-116
CWE-20
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 16 Mar 2026 18:15:00 +0000


Mon, 16 Mar 2026 17:45:00 +0000

Type Values Removed Values Added
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().
Title Incomplete control character validation in http.cookies
References
Metrics cvssV4_0

{'score': 6, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N'}


cve-icon MITRE

Status: PUBLISHED

Assigner: PSF

Published:

Updated: 2026-03-16T18:25:55.021Z

Reserved: 2026-03-06T16:13:09.289Z

Link: CVE-2026-3644

cve-icon Vulnrichment

Updated: 2026-03-16T18:24:32.300Z

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-03-16T18:16:09.907

Modified: 2026-03-17T14:20:01.670

Link: CVE-2026-3644

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-03-16T17:37:31Z

Links: CVE-2026-3644 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-03-24T10:50:05Z

Weaknesses