{"id":"CVE-2025-12084","state":"PUBLISHED","title":"Quadratic complexity in node ID cache clearing","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.","publishedAt":"2025-12-03T18:55:32.222Z","updatedAt":"2026-03-03T14:41:38.821Z","severity":{"score":6.3,"label":"Medium","version":"4.0","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","source":"PSF"},"assigner":"PSF","products":["Python Software Foundation CPython"],"affected":[{"vendor":"Python Software Foundation","product":"CPython","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"3.10.20","versionType":"python"},{"version":"3.11.0","status":"affected","lessThan":"3.11.15","versionType":"python"},{"version":"3.12.0","status":"affected","lessThan":"3.12.13","versionType":"python"},{"version":"3.13.0","status":"affected","lessThan":"3.13.11","versionType":"python"},{"version":"3.14.0","status":"affected","lessThan":"3.14.2","versionType":"python"},{"version":"3.15.0a1","status":"affected","lessThan":"3.15.0a3","versionType":"python"}],"repo":"https://github.com/python/cpython"}],"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"],"weaknesses":["CWE-407"],"ingestedAt":"2026-10-29T20:08:31.050Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/12xxx/CVE-2025-12084.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-12084","state":"PUBLISHED","datePublished":"2025-12-03T18:55:32.222Z","dateUpdated":"2026-03-03T14:41:38.821Z","assignerShortName":"PSF","assignerOrgId":"28c92f92-d60d-412d-b760-e73465c3df22","dateReserved":"2025-10-22T16:06:55.078Z"},"containers":{"cna":{"title":"Quadratic complexity in node ID cache clearing","descriptions":[{"lang":"en","value":"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."}],"affected":[{"vendor":"Python Software Foundation","product":"CPython","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"3.10.20","versionType":"python"},{"version":"3.11.0","status":"affected","lessThan":"3.11.15","versionType":"python"},{"version":"3.12.0","status":"affected","lessThan":"3.12.13","versionType":"python"},{"version":"3.13.0","status":"affected","lessThan":"3.13.11","versionType":"python"},{"version":"3.14.0","status":"affected","lessThan":"3.14.2","versionType":"python"},{"version":"3.15.0a1","status":"affected","lessThan":"3.15.0a3","versionType":"python"}],"repo":"https://github.com/python/cpython"}],"references":[{"url":"https://github.com/python/cpython/pull/142146","tags":["patch"]},{"url":"https://github.com/python/cpython/issues/142145","tags":["issue-tracking"]},{"url":"https://github.com/python/cpython/commit/08d8e18ad81cd45bc4a27d6da478b51ea49486e4","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/027f21e417b26eed4505ac2db101a4352b7c51a0","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/ddcd2acd85d891a53e281c773b3093f9db953964","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/27648a1818749ef44c420afe6173af6868715437","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/8d2d7bb2e754f8649a68ce4116271a4932f76907","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/9c9dda6625a2a90d2a06c657eee021d6be19842d","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/a696ba8b4d42fd632afc9bc88ad830a2e4cceed8","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/41f468786762348960486c166833a218a0a436af","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/57937a8e5e293f0dcba5115f7b7a11b1e0c9a273","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/e91c11449cad34bac3ea55ee09ca557691d92b53","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/a46c10ec9d4050ab67b8a932e0859a2ea60c3cb8","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/c97e87593063d84a2bd9fe7068b30eb44de23dc0","tags":["patch"]}],"metrics":[{"cvssV4_0":{"Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","Safety":"NOT_DEFINED","attackComplexity":"LOW","attackRequirements":"PRESENT","attackVector":"NETWORK","baseScore":6.3,"baseSeverity":"MEDIUM","exploitMaturity":"NOT_DEFINED","privilegesRequired":"NONE","providerUrgency":"NOT_DEFINED","subAvailabilityImpact":"NONE","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","userInteraction":"NONE","valueDensity":"NOT_DEFINED","vectorString":"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","version":"4.0","vulnAvailabilityImpact":"LOW","vulnConfidentialityImpact":"NONE","vulnIntegrityImpact":"NONE","vulnerabilityResponseEffort":"NOT_DEFINED"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"providerMetadata":{"shortName":"PSF","orgId":"28c92f92-d60d-412d-b760-e73465c3df22","dateUpdated":"2026-03-03T14:41:38.821Z"},"credits":[{"lang":"en","type":"reporter","value":"Jacob Walls"},{"lang":"en","type":"reporter","value":"Shai Berger"},{"lang":"en","type":"reporter","value":"Natalia Bidart"},{"lang":"en","type":"coordinator","value":"Seth Larson"}],"source":{"discovery":"UNKNOWN"},"x_generator":{"engine":"Vulnogram 0.5.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2025-12-03T19:13:23.548683Z","id":"CVE-2025-12084","options":[{"Exploitation":"none"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-407","type":"CWE","lang":"en","description":"CWE-407 Inefficient Algorithmic Complexity"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2025-12-03T19:14:59.450Z"}}]}}}