CVE-2026-4224 json
Stack overflow parsing XML with deeply nested DTD content models
published 2026-03-16 7 mo ago modified 2026-09-16 53 d ago also BIT-libpython-2026-4224 , BIT-python-2026-4224 , BIT-python-min-2026-4224 , EUVD-2026-12486
- cvss
- 7.5
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.7%
- EPSS 0.7% chance of exploitation in 30 days, percentile 54%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- bitnami libpython 3.10.21, 3.11.16, 3.12.14, 3.13.13, 3.14.4
- bitnami python 3.10.21, 3.11.16, 3.12.14, 3.13.13, 3.14.4
- bitnami python-min 3.10.21, 3.11.16, 3.12.14, 3.13.13, 3.14.4
- Python Software Foundation CPython 3.10.21, 3.11.16, 3.12.14, 3.13.13, 3.14.4, 3.15.0a8
- python3.11 Debian 12 3.11.2-6+deb12u8
- python3.13 Debian 13 3.13.5-2+deb13u2
- python3.14 Debian 14 3.14.3-4
debian advisories DEBIAN-CVE-2026-4224
- python3.10 Ubuntu 22.04 LTS 3.10.12-1~22.04.16
- python3.12 Ubuntu 24.04 LTS 3.12.3-1ubuntu0.15
- python2.7 Ubuntu Pro 14.04 LTS 2.7.6-8ubuntu0.6+esm30
- python2.7 Ubuntu Pro 16.04 LTS 2.7.12-1ubuntu0~16.04.18+esm22
- python2.7 Ubuntu Pro 18.04 LTS 2.7.17-1~18.04ubuntu1.13+esm15
- python2.7 Ubuntu Pro 22.04 LTS 2.7.18-13ubuntu1.5+esm9
- python3.4 Ubuntu Pro 14.04 LTS 3.4.3-1ubuntu1~14.04.7+esm21
- python3.5 Ubuntu Pro 14.04 LTS 3.5.2-2ubuntu0~16.04.4~14.04.1+esm11
ubuntu advisories UBUNTU-CVE-2026-4224
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- python3.14 RHEL 9 3.14.4-2.el9_8
- python3.14-idle RHEL 9 3.14.4-2.el9_8
- python3.14-libs RHEL 9 3.14.4-2.el9_8
- python3.14-test RHEL 9 3.14.4-2.el9_8
- python3.14-tkinter RHEL 9 3.14.4-2.el9_8
- python3.14-freethreading RHEL 9 3.14.4-2.el9_8
- python3.14-freethreading-idle RHEL 9 3.14.4-2.el9_8
- python3.14-freethreading-libs RHEL 9 3.14.4-2.el9_8
red hat advisories RHSA-2026:19176RHSA-2026:19177RHSA-2026:19064RHSA-2026:19019RHSA-2026:10950RHSA-2026:8822
- python3 SLES for SAP 15 SP6, SLES for SAP 15 SP5, SLES for SAP 15 SP4 +11 more 3.6.15-150300.10.129.1
- python3-core SLES for SAP 15 SP6, SLES for SAP 15 SP5, SLES for SAP 15 SP4 +12 more 3.6.15-150300.10.129.1
- python311 Linux Micro 6.1 3.11.16-slfo.1.1_1.1
- python311-core Linux Micro 6.1 3.11.16-slfo.1.1_1.1
- python311 SLES for SAP 15 SP5, SLES for SAP 15 SP4, SLES 15 SP5-LTSS +6 more 3.11.15-150400.9.85.1
- python311-core SLES for SAP 15 SP5, SLES for SAP 15 SP4, SLES 15 SP5-LTSS +6 more 3.11.15-150400.9.85.1
- python311-documentation SLES for SAP 15 SP5, SLES for SAP 15 SP4, SLES 15 SP5-LTSS +5 more 3.11.15-150400.9.85.1
- python311 Linux Micro 6.1 3.11.15-slfo.1.1_3.1
suse advisories SUSE-SU-2026:4754-1SUSE-SU-2026:4743-1SUSE-SU-2026:4534-1SUSE-SU-2026:23743-1SUSE-SU-2026:1530-1SUSE-SU-2026:1417-1
- python313 openSUSE Leap 16.0 3.13.13-160000.1.1
- python313-core openSUSE Leap 16.0 3.13.13-160000.1.1
- python313-nogil openSUSE Leap 16.0 3.13.13-160000.1.1
- python313-documentation openSUSE Leap 16.0 3.13.13-160000.1.1
- python313-nogil-nogil-core openSUSE Leap 16.0 3.13.13-160000.1.1
- python310 openSUSE Tumbleweed 3.10.20-3.1
- python311 openSUSE Tumbleweed 3.11.15-4.1
- python312 openSUSE Tumbleweed 3.12.13-4.1
opensuse advisories openSUSE-SU-2026:20517-1openSUSE-SU-2026:10477-1openSUSE-SU-2026:10478-1openSUSE-SU-2026:10479-1openSUSE-SU-2026:10480-1openSUSE-SU-2026:10481-1
- python3.14 AlmaLinux 10 3.14.4-2.el10_2
- python3.14-idle AlmaLinux 10 3.14.4-2.el10_2
- python3.14-libs AlmaLinux 10 3.14.4-2.el10_2
- python3.14-test AlmaLinux 10 3.14.4-2.el10_2
- python3.14-tkinter AlmaLinux 10 3.14.4-2.el10_2
- python3.14-freethreading AlmaLinux 10 3.14.4-2.el10_2
- python3.14-freethreading-idle AlmaLinux 10 3.14.4-2.el10_2
- python3.14-freethreading-libs AlmaLinux 10 3.14.4-2.el10_2
almalinux advisories ALSA-2026:19019ALSA-2026:19064ALSA-2026:19176ALSA-2026:19177ALSA-2026:10950
- python3.14 Rocky Linux 9 3.14.4-2.el9_8
- python3.14 Rocky Linux 10 3.14.4-2.el10_2
- python3.12 Rocky Linux 10 3.12.13-2.el10_2
- python3.12 Rocky Linux 9 3.12.13-2.el9_8
- python3.12 Rocky Linux 8 3.12.13-2.el8_10
rocky linux advisories RLSA-2026:19176RLSA-2026:19019RLSA-2026:19064RLSA-2026:19177RLSA-2026:10950
- python3 Alpine 3.23, Alpine 3.22, Alpine 3.21 3.12.14-r0
- python3 Alpine 3.24 3.14.5-r0
alpine advisories ALPINE-CVE-2026-4224
Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- github.com/python/cpython@eb0e8be commit
- github.com/python/cpython@196edfb commit
- github.com/python/cpython@e0a8a6d commit
- github.com/python/cpython@642865d commit
- github.com/python/cpython@af856a7 commit
- github.com/python/cpython@24ce88b commit
- github.com/python/cpython#145987 pull request
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-4224 updated cvss 5.9
cpython: Stack overflow parsing XML with deeply nested DTD content models
-
Red Hat Enterprise Linux 6 python, tkinter, python-libs, python-test, python-tools Red Hat Enterprise Linux 7 python, python3, tkinter, python-libs, python-test, python-tools, +4 more Red Hat Enterprise Linux 8 numpy, scipy, PyYAML, python3, mod_wsgi, python36, +83 more Red Hat Enterprise Linux 9 python3, python3.9, python3.11, python3-idle, python3-libs, python3-test, +6 more Red Hat Enterprise Linux AI (RHEL AI) 3 rhelai3/bootc-cuda-rhel9, rhelai3/bootc-rocm-rhel9, rhelai3/bootc-aws-cuda-rhel9, rhelai3/bootc-gcp-cuda-rhel9, rhelai3/bootc-azure-cuda-rhel9, rhelai3/bootc-azure-rocm-rhel9affected: workaround, no fix available “Fix deferred”
-
Red Hat OpenShift AI (RHOAI) rhoai/odh-dashboard-rhel9under investigation
-
Red Hat Enterprise Linux AppStream (v. 8) python3.12 3.12.13-2.el8_10, python3.12-libs 3.12.13-2.el8_10, python3.12-tkinter 3.12.13-2.el8_10, python3.12-rpm-macros 3.12.13-2.el8_10fixed: vendor fix RHSA-2026:10950
-
Red Hat Enterprise Linux AppStream (v. 9) python3.14 3.14.4-2.el9_8, python3.12 3.12.13-2.el9_8, python3.14-libs 3.14.4-2.el9_8, python3.12-libs 3.12.13-2.el9_8, python3.14-tkinter 3.14.4-2.el9_8, python3.12-tkinter 3.12.13-2.el9_8fixed: vendor fix RHSA-2026:19177
-
Red Hat Enterprise Linux AppStream (v. 10) python3.14 3.14.4-2.el10_2, python3.14-libs 3.14.4-2.el10_2, python3-tkinter 3.12.13-2.el10_2, python3.14-tkinter 3.14.4-2.el10_2, python-unversioned-command 3.12.13-2.el10_2 Red Hat Enterprise Linux BaseOS (v. 10) python3 3.12.13-2.el10_2, python3.12 3.12.13-2.el10_2, python3-libs 3.12.13-2.el10_2fixed: vendor fix RHSA-2026:19064
-
Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) python3.14 3.14.4-2.el9_8, python3.12 3.12.13-2.el9_8, python3.14-idle 3.14.4-2.el9_8, python3.14-test 3.14.4-2.el9_8, python3.12-idle 3.12.13-2.el9_8, python3.12-test 3.12.13-2.el9_8, +7 morefixed: vendor fix RHSA-2026:19177
-
Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) python3-idle 3.12.13-2.el10_2, python3-test 3.12.13-2.el10_2, python3.14-idle 3.14.4-2.el10_2, python3.14-test 3.14.4-2.el10_2, python3.14-freethreading 3.14.4-2.el10_2, python3.14-freethreading-idle 3.14.4-2.el10_2, +3 morefixed: vendor fix RHSA-2026:19064
-
Red Hat Enterprise Linux CRB (v. 8) python3.12 3.12.13-2.el8_10, python3.12-idle 3.12.13-2.el8_10, python3.12-test 3.12.13-2.el8_10, python3.12-tkinter 3.12.13-2.el8_10fixed: vendor fix RHSA-2026:10950
show 3 moreshow fewer
-
Red Hat Hardened Images python3 3.14.4-1.hum1, python3.14 3.14.4-1.hum1, python3.11 3.11.15-4.hum1, python3.12 3.12.13-3.hum1, python3.13 3.13.13-1.hum1, python3-idle 3.14.4-1.hum1, +22 morefixed: vendor fix RHSA-2026:7661
-
Red Hat Update Infrastructure 5 rhui5/rhua-rhel9 1779798222, rhui5/rhua-tp-rhel9 1787241260, rhui5/installer-rhel9 1779798165, rhui5/installer-tp-rhel9 1787135742fixed: vendor fix RHSA-2026:21275
-
Red Hat Update Infrastructure 5 rhui5/cds-rhel9 1779798159, rhui5/cds-tp-rhel9 1787241206, rhui5/haproxy-rhel9 1779798164, rhui5/cds-kubernetes-tp-rhel9 1787241211not affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 7 mo ago
Exploit prediction
0.72% chance of exploitation in the next 30 days, higher than 54% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 6.0 | 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 |
| CNA | 4.0 | 6.0 | 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| OSV | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| bitnami | libpython | <3.10.21 >=3.11.0, <3.11.16 >=3.12.0, <3.12.14 >=3.13.0, <3.13.13 >=3.14.0, <3.14.4 |
3.10.21 3.11.16 3.12.14 3.13.13 3.14.4 |
| bitnami | python | <3.10.21 >=3.11.0, <3.11.16 >=3.12.0, <3.12.14 >=3.13.0, <3.13.13 >=3.14.0, <3.14.4 |
3.10.21 3.11.16 3.12.14 3.13.13 3.14.4 |
| bitnami | python-min | <3.10.21 >=3.11.0, <3.11.16 >=3.12.0, <3.12.14 >=3.13.0, <3.13.13 >=3.14.0, <3.14.4 |
3.10.21 3.11.16 3.12.14 3.13.13 3.14.4 |
Affected products
- Python Software Foundation CPython
Classification
- Weakness
-
- CWE-674 Uncontrolled Recursion
References
-
github.com
/python/cpython/commit/eb0e8be3a7e11b87d198a2c3af1ed0eccf532768
patch
-
github.com
/python/cpython/pull/145987
patch
-
github.com
/python/cpython/commit/196edfb06a7458377d4d0f4b3cd41724c1f3bd4a
patch
-
github.com
/python/cpython/commit/e0a8a6da90597a924b300debe045cdb4628ee1f3
patch
-
github.com
/python/cpython/commit/642865ddf4b232da1f3b1f7abcfa3254c4bfe785
patch
-
github.com
/python/cpython/commit/af856a7177326ac25d9f66cc6dd28b554d914fee
patch
-
github.com
/python/cpython/commit/24ce88b285f56ee11626cf5e472af3cd8cc7c621
patch, web
-
mail.python.org
/archives/list/security-announce@python.org/thread/5M7CGUW3XBRY7II4DK43KF7NQQ3TPZ6R/
vendor-advisory, third-party-advisory, advisory
-
github.com
/python/cpython/issues/145986
issue-tracking, report
-
openwall.com
/lists/oss-security/2026/03/16/4
mailing-list, third-party-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-4224
web
Sources
- CVE List CVE-2026-4224
- NVD CVE-2026-4224
- OSV BIT-libpython-2026-4224
- OSV BIT-python-2026-4224
- OSV BIT-python-min-2026-4224
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.