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.
References10
- github.com/python/cpython/commit/02c08e6b747ac43d0d866a4ffa916b…
- github.com/python/cpython/commit/037965c00a427cba5c05447efadc67…
- github.com/python/cpython/commit/0583f24ae678993e3f7939f51ad5bc…
- github.com/python/cpython/commit/2ffab083782968a4d732738f4f1dff…
- github.com/python/cpython/commit/390337b8ba1658833fdef379e1739c…
- github.com/python/cpython/commit/96510a3758f4a075f43223afdee3b6…
- github.com/python/cpython/commit/cb409342a19f25656f62e679f8bac2…
- github.com/python/cpython/issues/152674
- github.com/python/cpython/pull/152676
- mail.python.org/archives/list/[email protected]/thre…
Metrics
- CVSS 4.0
-
2.0
LOW
Score source: CNA
CVSS:4.0/AV:N/AC:H/AT:P/PR:H/UI:P/VC:N/VI:N/VA:L/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 - EPSS — exploit probability
- 0% percentile: 30 · as of 13 November 2026
- CWE
- CWE-407
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.