{"id":"CVE-2026-9669","state":"PUBLISHED","title":"bz2.BZ2Decompressor reuse after error can cause a stack buffer overflow","description":"bz2.BZ2Decompressor objects could be reused after a decompression error. If an application caught the resulting OSError and retried with the same decompressor, crafted input could cause the decompressor to resume from an invalid internal state and perform out-of-bounds writes to a stack buffer. This could crash the process when processing untrusted data.","publishedAt":"2026-06-08T22:01:15.420Z","updatedAt":"2026-08-13T00:26:48.913Z","severity":{"score":8.2,"label":"High","version":"4.0","vector":"CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/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.0b3","versionType":"python"}],"modules":["bz2"],"repo":"https://github.com/python/cpython"}],"references":["https://github.com/python/cpython/pull/150600","https://mail.python.org/archives/list/security-announce@python.org/thread/DBJZETMGUIFK7DVUWMOXHD3Z6IX2QPSX/","https://github.com/python/cpython/issues/150599","https://github.com/python/cpython/commit/157a5df8cb5d82b33f918a7489e72ce95ceb12b6","https://github.com/python/cpython/commit/5755d0f083949ff3c5bf3a37e673e24e306b036e","https://github.com/python/cpython/commit/619a12b2e545391dc436b3af79dda22337382a6f","https://github.com/python/cpython/commit/d3ca26983dfbccdf609f24ff5877dc3118e4702d","https://github.com/python/cpython/commit/938ec030e90c5e53f1faac6fab1643f14e4f4a79","https://github.com/python/cpython/commit/991e6cf86496718c4ef00b362d640e00cb5c85b2","https://github.com/python/cpython/commit/1ba6135eae75ad8413413caeeedb56ae72320636","http://www.openwall.com/lists/oss-security/2026/06/08/17"],"weaknesses":["CWE-121"],"ingestedAt":"2026-10-29T20:13:52.441Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/9xxx/CVE-2026-9669.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-9669","state":"PUBLISHED","datePublished":"2026-06-08T22:01:15.420Z","dateUpdated":"2026-08-13T00:26:48.913Z","assignerShortName":"PSF","assignerOrgId":"28c92f92-d60d-412d-b760-e73465c3df22","dateReserved":"2026-05-27T03:13:18.152Z"},"containers":{"cna":{"title":"bz2.BZ2Decompressor reuse after error can cause a stack buffer overflow","descriptions":[{"lang":"en","value":"bz2.BZ2Decompressor objects could be reused after a decompression error. If an application caught the resulting OSError and retried with the same decompressor, crafted input could cause the decompressor to resume from an invalid internal state and perform out-of-bounds writes to a stack buffer. This could crash the process when processing untrusted data."}],"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.0b3","versionType":"python"}],"modules":["bz2"],"repo":"https://github.com/python/cpython"}],"references":[{"url":"https://github.com/python/cpython/pull/150600","tags":["patch"]},{"url":"https://mail.python.org/archives/list/security-announce@python.org/thread/DBJZETMGUIFK7DVUWMOXHD3Z6IX2QPSX/","tags":["vendor-advisory"]},{"url":"https://github.com/python/cpython/issues/150599","tags":["issue-tracking"]},{"url":"https://github.com/python/cpython/commit/157a5df8cb5d82b33f918a7489e72ce95ceb12b6","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/5755d0f083949ff3c5bf3a37e673e24e306b036e","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/619a12b2e545391dc436b3af79dda22337382a6f","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/d3ca26983dfbccdf609f24ff5877dc3118e4702d","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/938ec030e90c5e53f1faac6fab1643f14e4f4a79","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/991e6cf86496718c4ef00b362d640e00cb5c85b2","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/1ba6135eae75ad8413413caeeedb56ae72320636","tags":["patch"]}],"metrics":[{"cvssV4_0":{"Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","Safety":"NOT_DEFINED","attackComplexity":"HIGH","attackRequirements":"PRESENT","attackVector":"NETWORK","baseScore":8.2,"baseSeverity":"HIGH","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:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","version":"4.0","vulnAvailabilityImpact":"HIGH","vulnConfidentialityImpact":"NONE","vulnIntegrityImpact":"NONE","vulnerabilityResponseEffort":"NOT_DEFINED"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"problemTypes":[{"descriptions":[{"cweId":"CWE-121","description":"CWE-121 Stack-based buffer overflow","lang":"en","type":"CWE"}]}],"providerMetadata":{"shortName":"PSF","orgId":"28c92f92-d60d-412d-b760-e73465c3df22","dateUpdated":"2026-08-13T00:26:48.913Z"},"credits":[{"lang":"en","type":"reporter","value":"Bitshift (https://github.com/TheShiftedBit)"},{"lang":"en","type":"coordinator","value":"Emma Smith (https://github.com/emmatyping)"},{"lang":"en","type":"remediation developer","value":"Stan Ulbrych (https://github.com/StanFromIreland)"},{"lang":"en","type":"remediation reviewer","value":"Serhiy Storchaka (https://github.com/serhiy-storchaka)"}],"source":{"discovery":"UNKNOWN"},"x_generator":{"engine":"cvelib 1.8.0"}},"adp":[{"title":"CVE Program Container","references":[{"url":"http://www.openwall.com/lists/oss-security/2026/06/08/17"}],"providerMetadata":{"shortName":"CVE","orgId":"af854a3a-2127-422b-91ae-364da2661108","dateUpdated":"2026-06-08T23:27:25.188Z"}},{"title":"CISA ADP Vulnrichment","metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-06-16T12:23:25.378543Z","id":"CVE-2026-9669","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-16T12:23:44.258Z"}}]}}}