Vulnerability · Published Mar 16, 2026 · Assigned by PSF
CVE-2026-4224Stack overflow parsing XML with deeply nested DTD content models
Medium 6.0
In plain English
A medium-severity security flaw 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.7% (higher than 54% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Severity (CVSS 4.0)6.0Medium
Exploit odds (30 days)0.7%top 46.0% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known
Official description
When an Expat parser with a registered ElementDeclHandler parses an inline document type definition containing a deeply nested content model a C stack overflow occurs.
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-4224 |
| Alpine:v3.22 | python3 | 3.12.14-r0 | ALPINE-CVE-2026-4224 |
| Alpine:v3.23 | python3 | 3.12.14-r0 | ALPINE-CVE-2026-4224 |
| Alpine:v3.24 | python3 | 3.14.5-r0 | ALPINE-CVE-2026-4224 |
| Debian:12 | python3.11 | 3.11.2-6+deb12u8 | DEBIAN-CVE-2026-4224 |
| Debian:13 | python3.13 | 3.13.5-2+deb13u2 | DEBIAN-CVE-2026-4224 |
| Debian:14 | python3.14 | 3.14.3-4 | DEBIAN-CVE-2026-4224 |
| 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 | pypy3 | no fix listed | UBUNTU-CVE-2026-4224 |
| Ubuntu:24.04:LTS | pypy3 | no fix listed | UBUNTU-CVE-2026-4224 |
| Ubuntu:25.10 | pypy3 | no fix listed | UBUNTU-CVE-2026-4224 |
| Ubuntu:26.04:LTS | pypy3 | no fix listed | UBUNTU-CVE-2026-4224 |
| Ubuntu:26.10 | pypy3 | no fix listed | UBUNTU-CVE-2026-4224 |
| Ubuntu:22.04:LTS | python3.10 | 3.10.12-1~22.04.16 | UBUNTU-CVE-2026-4224 |
| 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 | USN-8509-1 |
| Ubuntu:24.04:LTS | python3.12 | 3.12.3-1ubuntu0.17 | USN-8744-1 |
| Ubuntu:24.04:LTS | python3.12 | 3.12.3-1ubuntu0.15 | UBUNTU-CVE-2026-4224 |
| Ubuntu:24.04:LTS | python3.12 | 3.12.3-1ubuntu0.15 | USN-8509-1 |
| Ubuntu:25.10 | python3.13 | no fix listed | UBUNTU-CVE-2026-4224 |
| Ubuntu:25.10 | python3.14 | no fix listed | UBUNTU-CVE-2026-4224 |
| 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-674 · Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
References
- https://github.com/python/cpython/commit/eb0e8be3a7e11b87d198a2c3af1ed0eccf532768 patch
- https://mail.python.org/archives/list/security-announce@python.org/thread/5M7CGUW3XBRY7II4DK43KF7NQQ3TPZ6R/ vendor-advisory
- https://github.com/python/cpython/issues/145986 issue-tracking
- https://github.com/python/cpython/pull/145987 patch
- https://github.com/python/cpython/commit/196edfb06a7458377d4d0f4b3cd41724c1f3bd4a patch
- https://github.com/python/cpython/commit/e0a8a6da90597a924b300debe045cdb4628ee1f3 patch
- https://github.com/python/cpython/commit/642865ddf4b232da1f3b1f7abcfa3254c4bfe785 patch
- https://github.com/python/cpython/commit/af856a7177326ac25d9f66cc6dd28b554d914fee patch
- https://github.com/python/cpython/commit/24ce88b285f56ee11626cf5e472af3cd8cc7c621 patch
- http://www.openwall.com/lists/oss-security/2026/03/16/4