What’s Vulnerable › Vulnerabilities
CVE-2026-6879: Quadratic Behavior in xml.etree.ElementPath Index Predicates
- Severity: low (CVSS 2.0 v4.0)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.4% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-07-28 · updated 2026-10-24
- Weakness: CWE-407
Description
`Element.findall()` and fully-consumed `Element.iterfind()` exhibit `O(n^2)` time complexity when using XPath index predicates (e.g. `[1]`, `[last()]`, `[last()-N]`) on XML documents with many same-tag siblings. `Element.find()` is only affected when the first match is near the end of the sibling list, such as with `[last()]` or `[last()-N]`; `.//item[1]` short-circuits after the first match.
Affected products
- Python: before 3.10.21; from 3.11.0 before 3.11.16; from 3.12.0 before 3.12.14; from 3.13.0 before 3.13.15; from 3.14.0 before 3.14.7; from 3.15.0a1 before 3.15.0rc1 — fixed in 3.10.21, 3.11.16, 3.12.14, 3.13.15, 3.14.7, 3.15.0rc1
How to fix
Upgrade to a fixed version: Python 3.10.21, 3.11.16, 3.12.14, 3.13.15. Check the vendor advisory for mitigations.
References
- https://github.com/python/cpython/commit/02c08e6b747ac43d0d866a4ffa916bedf3423f81
- https://github.com/python/cpython/commit/037965c00a427cba5c05447efadc67c51a492e85
- https://github.com/python/cpython/commit/0583f24ae678993e3f7939f51ad5bcae5ad9dc70
- https://github.com/python/cpython/commit/2ffab083782968a4d732738f4f1dff6bbd69d2b0
- https://github.com/python/cpython/commit/390337b8ba1658833fdef379e1739c9f9533a8db
- https://github.com/python/cpython/commit/96510a3758f4a075f43223afdee3b6ee1a7a7f02
- https://github.com/python/cpython/commit/cb409342a19f25656f62e679f8bac265fe1442c3
- https://github.com/python/cpython/issues/152674
- https://github.com/python/cpython/pull/152676
- https://mail.python.org/archives/list/security-announce@python.org/thread/7YMZ6DDZVR26TJJBVO3RDNBAVGHNYAKR/
Get alerted when CVE-2026-6879 or the next vulnerability affects your stack