---
id: CVE-2026-3644
title: >-
  The fix for CVE-2026-0672, which rejected control characters in
  http.cookies.Morsel, was incomplete
summary: >-
  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. Additio…
severity: high
cvss: 7.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N'
cwe:
  - CWE-20
  - CWE-116
vendor: python
product: python
affected:
  - python < 3.13.13
  - 'python >= 3.14.0, < 3.14.4'
  - python = 3.15.0
patched:
  - python 3.14.4
published: '2026-03-16'
updated: '2026-06-30'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-3644'
references:
  - url: >-
      https://github.com/python/cpython/commit/556aa098e738b127c714866f819b4abe2f7593d8
    label: cna@python.org
  - url: >-
      https://github.com/python/cpython/commit/57e88c1cf95e1481b94ae57abe1010469d47a6b4
    label: cna@python.org
  - url: >-
      https://github.com/python/cpython/commit/62ceb396fcbe69da1ded3702de586f4072b590dd
    label: cna@python.org
  - url: >-
      https://github.com/python/cpython/commit/d16ecc6c3626f0e2cc8f08c309c83934e8a979dd
    label: cna@python.org
  - url: >-
      https://github.com/python/cpython/commit/dae4b1a21f8df4570e30986affd61bbe4ade4cef
    label: cna@python.org
  - url: 'https://github.com/python/cpython/issues/145599'
    label: cna@python.org
  - url: 'https://github.com/python/cpython/pull/145600'
    label: cna@python.org
  - url: >-
      https://mail.python.org/archives/list/security-announce@python.org/thread/H6CADMBCDRFGWCMOXWUIHFJNV43GABJ7/
    label: cna@python.org
tags:
  - nvd
epss: 0.00652
epssPercentile: 0.49088
ingestedAt: '2026-07-01T03:50:34.530Z'
---

## Overview

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

- `python < 3.13.13`
- `python >= 3.14.0, < 3.14.4`
- `python = 3.15.0`

## Remediation

Upgrade past the affected range:

- `python 3.14.4`
