{"id":"CVE-2026-3276","state":"PUBLISHED","title":"Potential DoS via quadratic complexity in unicodedata.normalize()","description":"unicodedata.normalize() can take excessive CPU time when processing\nspecially crafted Unicode input containing long runs of combining characters\nwith alternating Canonical Combining Class values.\nThis affects all normalization forms.","publishedAt":"2026-06-03T14:29:39.727Z","updatedAt":"2026-08-13T00:28:05.768Z","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.21","versionType":"python"},{"version":"3.11.0","status":"affected","lessThan":"3.11.16","versionType":"python"},{"version":"3.12.0","status":"affected","lessThan":"3.12.14","versionType":"python"},{"version":"3.13.0","status":"affected","lessThan":"3.13.14","versionType":"python"},{"version":"3.14.0","status":"affected","lessThan":"3.14.6","versionType":"python"},{"version":"3.15.0a1","status":"affected","lessThan":"3.15.0b2","versionType":"python"}],"repo":"https://github.com/python/cpython"}],"references":["https://mail.python.org/archives/list/security-announce@python.org/thread/PP5HB4K7727OBBM76KA2ILID76K3OZGZ/","https://github.com/python/cpython/pull/149080","https://github.com/python/cpython/issues/149079","https://github.com/python/cpython/commit/6b505d1f41f8f3ea0fe5a4786d3a8fff1875cfc0","https://github.com/python/cpython/commit/991224b1e8311c85f198f6dd8208bf8cff7fc26f","https://github.com/python/cpython/commit/ba785b88add96acbf403d65cb157fb2743a33a32","https://github.com/python/cpython/commit/c5512bd7c1dc28055660565275012766941d3066","https://github.com/python/cpython/commit/90748760d38ca3ac5fc6788a69becab905c95598","https://github.com/python/cpython/commit/d3ab945af25b28dfe13ac6cb40c124a01b33ce1f","https://github.com/python/cpython/commit/db744c0776c1d5dd11aaa70eff2a6993c408bacc","https://github.com/python/cpython/commit/e322a1857084d521f79f45181b776f62e6acfc2c","http://www.openwall.com/lists/oss-security/2026/06/03/15"],"weaknesses":["CWE-407"],"ingestedAt":"2026-10-29T20:11:50.837Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/3xxx/CVE-2026-3276.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-3276","state":"PUBLISHED","datePublished":"2026-06-03T14:29:39.727Z","dateUpdated":"2026-08-13T00:28:05.768Z","assignerShortName":"PSF","assignerOrgId":"28c92f92-d60d-412d-b760-e73465c3df22","dateReserved":"2026-02-26T15:19:46.862Z"},"containers":{"cna":{"title":"Potential DoS via quadratic complexity in unicodedata.normalize()","descriptions":[{"lang":"en","value":"unicodedata.normalize() can take excessive CPU time when processing\nspecially crafted Unicode input containing long runs of combining characters\nwith alternating Canonical Combining Class values.\nThis affects all normalization forms."}],"affected":[{"vendor":"Python Software Foundation","product":"CPython","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"3.10.21","versionType":"python"},{"version":"3.11.0","status":"affected","lessThan":"3.11.16","versionType":"python"},{"version":"3.12.0","status":"affected","lessThan":"3.12.14","versionType":"python"},{"version":"3.13.0","status":"affected","lessThan":"3.13.14","versionType":"python"},{"version":"3.14.0","status":"affected","lessThan":"3.14.6","versionType":"python"},{"version":"3.15.0a1","status":"affected","lessThan":"3.15.0b2","versionType":"python"}],"repo":"https://github.com/python/cpython"}],"references":[{"url":"https://mail.python.org/archives/list/security-announce@python.org/thread/PP5HB4K7727OBBM76KA2ILID76K3OZGZ/","tags":["vendor-advisory"]},{"url":"https://github.com/python/cpython/pull/149080","tags":["patch"]},{"url":"https://github.com/python/cpython/issues/149079","tags":["issue-tracking"]},{"url":"https://github.com/python/cpython/commit/6b505d1f41f8f3ea0fe5a4786d3a8fff1875cfc0","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/991224b1e8311c85f198f6dd8208bf8cff7fc26f","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/ba785b88add96acbf403d65cb157fb2743a33a32","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/c5512bd7c1dc28055660565275012766941d3066","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/90748760d38ca3ac5fc6788a69becab905c95598","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/d3ab945af25b28dfe13ac6cb40c124a01b33ce1f","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/db744c0776c1d5dd11aaa70eff2a6993c408bacc","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/e322a1857084d521f79f45181b776f62e6acfc2c","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"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-407","description":"CWE-407","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"PSF","orgId":"28c92f92-d60d-412d-b760-e73465c3df22","dateUpdated":"2026-08-13T00:28:05.768Z"},"credits":[{"lang":"en","type":"reporter","value":"Seokchan Yoon (https://github.com/ch4n3-yoon)"},{"lang":"en","type":"remediation reviewer","value":"Tim Peters (https://github.com/tim-one)"},{"lang":"en","type":"remediation reviewer","value":"Bénédikt Tran (https://github.com/picnixz)"},{"lang":"en","type":"remediation reviewer","value":"Serhiy Storchaka (https://github.com/serhiy-storchaka)"},{"lang":"en","type":"remediation reviewer","value":"Stan Ulbrych (https://github.com/StanFromIreland)"},{"lang":"en","type":"coordinator","value":"Seth Larson (https://github.com/sethmlarson)"},{"lang":"en","type":"remediation reviewer","value":"Petr Viktorin (https://github.com/encukou)"}],"source":{"discovery":"UNKNOWN"},"x_generator":{"engine":"Vulnogram 0.6.0"}},"adp":[{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-06-03T17:27:09.393265Z","id":"CVE-2026-3276","options":[{"Exploitation":"none"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-06-03T17:27:19.179Z"}},{"title":"CVE Program Container","references":[{"url":"http://www.openwall.com/lists/oss-security/2026/06/03/15"}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2026-06-03T19:18:17.828Z"}}]}}}