Vulnerability · Published Mar 16, 2026 · Assigned by PSF
CVE-2026-3644Incomplete control character validation in http.cookies
Medium 6.0
In plain English
A medium-severity improper input validation in CPython from Python Software Foundation. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.5% (higher than 44% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official 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 packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| AlmaLinux:10 | python-unversioned-command | 3.12.13-2.el10_2 | ALSA-2026:19064 |
| AlmaLinux:10 | python3 | 3.12.13-2.el10_2 | ALSA-2026:19064 |
| AlmaLinux:10 | python3-debug | 3.12.13-2.el10_2 | ALSA-2026:19064 |
| AlmaLinux:10 | python3-devel | 3.12.13-2.el10_2 | ALSA-2026:19064 |
| AlmaLinux:10 | python3-idle | 3.12.13-2.el10_2 | ALSA-2026:19064 |
| AlmaLinux:10 | python3-libs | 3.12.13-2.el10_2 | ALSA-2026:19064 |
| AlmaLinux:10 | python3-test | 3.12.13-2.el10_2 | ALSA-2026:19064 |
| AlmaLinux:10 | python3-tkinter | 3.12.13-2.el10_2 | ALSA-2026:19064 |
| AlmaLinux:8 | python3.12 | 3.12.13-2.el8_10 | ALSA-2026:10950 |
| AlmaLinux:9 | python3.12 | 3.12.13-2.el9_8 | ALSA-2026:19177 |
| AlmaLinux:8 | python3.12-debug | 3.12.13-2.el8_10 | ALSA-2026:10950 |
| AlmaLinux:9 | python3.12-debug | 3.12.13-2.el9_8 | ALSA-2026:19177 |
| AlmaLinux:8 | python3.12-devel | 3.12.13-2.el8_10 | ALSA-2026:10950 |
| AlmaLinux:9 | python3.12-devel | 3.12.13-2.el9_8 | ALSA-2026:19177 |
| AlmaLinux:8 | python3.12-idle | 3.12.13-2.el8_10 | ALSA-2026:10950 |
| AlmaLinux:9 | python3.12-idle | 3.12.13-2.el9_8 | ALSA-2026:19177 |
| AlmaLinux:8 | python3.12-libs | 3.12.13-2.el8_10 | ALSA-2026:10950 |
| AlmaLinux:9 | python3.12-libs | 3.12.13-2.el9_8 | ALSA-2026:19177 |
| AlmaLinux:8 | python3.12-rpm-macros | 3.12.13-2.el8_10 | ALSA-2026:10950 |
| AlmaLinux:8 | python3.12-test | 3.12.13-2.el8_10 | ALSA-2026:10950 |
| AlmaLinux:9 | python3.12-test | 3.12.13-2.el9_8 | ALSA-2026:19177 |
| AlmaLinux:8 | python3.12-tkinter | 3.12.13-2.el8_10 | ALSA-2026:10950 |
| AlmaLinux:9 | python3.12-tkinter | 3.12.13-2.el9_8 | ALSA-2026:19177 |
| AlmaLinux:10 | python3.14 | 3.14.4-2.el10_2 | ALSA-2026:19019 |
| AlmaLinux:9 | python3.14 | 3.14.4-2.el9_8 | ALSA-2026:19176 |
| AlmaLinux:10 | python3.14-debug | 3.14.4-2.el10_2 | ALSA-2026:19019 |
| AlmaLinux:9 | python3.14-debug | 3.14.4-2.el9_8 | ALSA-2026:19176 |
| AlmaLinux:10 | python3.14-devel | 3.14.4-2.el10_2 | ALSA-2026:19019 |
| AlmaLinux:9 | python3.14-devel | 3.14.4-2.el9_8 | ALSA-2026:19176 |
| AlmaLinux:10 | python3.14-freethreading | 3.14.4-2.el10_2 | ALSA-2026:19019 |
| AlmaLinux:9 | python3.14-freethreading | 3.14.4-2.el9_8 | ALSA-2026:19176 |
| AlmaLinux:10 | python3.14-freethreading-debug | 3.14.4-2.el10_2 | ALSA-2026:19019 |
| AlmaLinux:9 | python3.14-freethreading-debug | 3.14.4-2.el9_8 | ALSA-2026:19176 |
| AlmaLinux:10 | python3.14-freethreading-devel | 3.14.4-2.el10_2 | ALSA-2026:19019 |
| AlmaLinux:9 | python3.14-freethreading-devel | 3.14.4-2.el9_8 | ALSA-2026:19176 |
| AlmaLinux:10 | python3.14-freethreading-idle | 3.14.4-2.el10_2 | ALSA-2026:19019 |
| AlmaLinux:9 | python3.14-freethreading-idle | 3.14.4-2.el9_8 | ALSA-2026:19176 |
| AlmaLinux:10 | python3.14-freethreading-libs | 3.14.4-2.el10_2 | ALSA-2026:19019 |
| AlmaLinux:9 | python3.14-freethreading-libs | 3.14.4-2.el9_8 | ALSA-2026:19176 |
| AlmaLinux:10 | python3.14-freethreading-test | 3.14.4-2.el10_2 | ALSA-2026:19019 |
| AlmaLinux:9 | python3.14-freethreading-test | 3.14.4-2.el9_8 | ALSA-2026:19176 |
| AlmaLinux:10 | python3.14-freethreading-tkinter | 3.14.4-2.el10_2 | ALSA-2026:19019 |
| AlmaLinux:9 | python3.14-freethreading-tkinter | 3.14.4-2.el9_8 | ALSA-2026:19176 |
| AlmaLinux:10 | python3.14-idle | 3.14.4-2.el10_2 | ALSA-2026:19019 |
| AlmaLinux:9 | python3.14-idle | 3.14.4-2.el9_8 | ALSA-2026:19176 |
| AlmaLinux:10 | python3.14-libs | 3.14.4-2.el10_2 | ALSA-2026:19019 |
| AlmaLinux:9 | python3.14-libs | 3.14.4-2.el9_8 | ALSA-2026:19176 |
| AlmaLinux:10 | python3.14-test | 3.14.4-2.el10_2 | ALSA-2026:19019 |
| AlmaLinux:9 | python3.14-test | 3.14.4-2.el9_8 | ALSA-2026:19176 |
| AlmaLinux:10 | python3.14-tkinter | 3.14.4-2.el10_2 | ALSA-2026:19019 |
| AlmaLinux:9 | python3.14-tkinter | 3.14.4-2.el9_8 | ALSA-2026:19176 |
| Alpine:v3.21 | python3 | 3.12.14-r0 | ALPINE-CVE-2026-3644 |
| Alpine:v3.22 | python3 | 3.12.14-r0 | ALPINE-CVE-2026-3644 |
| Alpine:v3.23 | python3 | 3.12.14-r0 | ALPINE-CVE-2026-3644 |
| Alpine:v3.24 | python3 | 3.14.5-r0 | ALPINE-CVE-2026-3644 |
| Debian:12 | python3.11 | 3.11.2-6+deb12u8 | DEBIAN-CVE-2026-3644 |
| Debian:13 | python3.13 | 3.13.5-2+deb13u2 | DEBIAN-CVE-2026-3644 |
| Debian:14 | python3.14 | 3.14.3-4 | DEBIAN-CVE-2026-3644 |
| Rocky Linux:10 | python3.12 | 0:3.12.13-2.el10_2 | RLSA-2026:19064 |
| Rocky Linux:8 | python3.12 | 0:3.12.13-2.el8_10 | RLSA-2026:10950 |
| Rocky Linux:9 | python3.12 | 0:3.12.13-2.el9_8 | RLSA-2026:19177 |
| Rocky Linux:10 | python3.14 | 0:3.14.4-2.el10_2 | RLSA-2026:19019 |
| Rocky Linux:9 | python3.14 | 0:3.14.4-2.el9_8 | RLSA-2026:19176 |
| Ubuntu:22.04:LTS | python3.10 | 3.10.12-1~22.04.16 | USN-8509-1 |
| Ubuntu:22.04:LTS | python3.10 | 3.10.12-1~22.04.18 | USN-8744-1 |
| Ubuntu:22.04:LTS | python3.10 | 3.10.12-1~22.04.16 | UBUNTU-CVE-2026-3644 |
| Ubuntu:24.04:LTS | python3.12 | 3.12.3-1ubuntu0.15 | UBUNTU-CVE-2026-3644 |
| Ubuntu:24.04:LTS | python3.12 | 3.12.3-1ubuntu0.15 | USN-8509-1 |
| Ubuntu:24.04:LTS | python3.12 | 3.12.3-1ubuntu0.17 | USN-8744-1 |
| Ubuntu:25.10 | python3.13 | no fix listed | UBUNTU-CVE-2026-3644 |
| Ubuntu:25.10 | python3.14 | no fix listed | UBUNTU-CVE-2026-3644 |
| Ubuntu:26.04:LTS | python3.14 | 3.14.4-1ubuntu0.1 | USN-8509-1 |
| Ubuntu:26.04:LTS | python3.14 | 3.14.4-1ubuntu0.2 | USN-8744-1 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| Python Software Foundation | CPython | 0 – before 3.10.213.11.0 – before 3.11.163.12.0 – before 3.12.143.13.0 – before 3.13.133.14.0 – before 3.14.43.15.0a1 – before 3.15.0a8 |
Weakness: CWE-20, CWE-116 · 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
References
- https://mail.python.org/archives/list/security-announce@python.org/thread/H6CADMBCDRFGWCMOXWUIHFJNV43GABJ7/ vendor-advisory
- https://github.com/python/cpython/commit/57e88c1cf95e1481b94ae57abe1010469d47a6b4 patch
- https://github.com/python/cpython/issues/145599 issue-tracking
- https://github.com/python/cpython/pull/145600 patch
- https://github.com/python/cpython/commit/62ceb396fcbe69da1ded3702de586f4072b590dd patch
- https://github.com/python/cpython/commit/d16ecc6c3626f0e2cc8f08c309c83934e8a979dd patch
- https://github.com/python/cpython/commit/556aa098e738b127c714866f819b4abe2f7593d8 patch
- https://github.com/python/cpython/commit/dae4b1a21f8df4570e30986affd61bbe4ade4cef patch
- https://github.com/python/cpython/commit/3974092b037f9a3b000fb15b48ea61ce3b25d330 patch