{"id":"CVE-2025-8291","state":"PUBLISHED","title":"ZIP64 End of Central Directory (EOCD) Locator record offset not checked","description":"The 'zipfile' module would not check the validity of the ZIP64 End of\nCentral Directory (EOCD) Locator record offset value would not be used to\nlocate the ZIP64 EOCD record, instead the ZIP64 EOCD record would be\nassumed to be the previous record in the ZIP archive. This could be abused\nto create ZIP archives that are handled differently by the 'zipfile' module\ncompared to other ZIP implementations.\n\n\nRemediation maintains this behavior, but checks that the offset specified\nin the ZIP64 EOCD Locator record matches the expected value.","publishedAt":"2025-10-07T18:10:05.908Z","updatedAt":"2026-07-31T14:01:02.211Z","severity":{"score":4.3,"label":"Medium","version":"3.1","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A: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.9.24","versionType":"python"},{"version":"3.10.0","status":"affected","lessThan":"3.10.19","versionType":"python"},{"version":"3.11.0","status":"affected","lessThan":"3.11.14","versionType":"python"},{"version":"3.12.0","status":"affected","lessThan":"3.12.12","versionType":"python"},{"version":"3.13.0","status":"affected","lessThan":"3.13.10","versionType":"python"},{"version":"3.14.0","status":"affected","lessThan":"3.14.1","versionType":"python"}],"repo":"https://github.com/python/cpython"}],"references":["https://github.com/python/cpython/pull/139702","https://mail.python.org/archives/list/security-announce@python.org/thread/QECOPWMTH4VPPJAXAH2BGTA4XADOP62G/","https://github.com/python/cpython/issues/139700","https://github.com/python/cpython/commit/162997bb70e067668c039700141770687bc8f267","https://github.com/python/cpython/commit/333d4a6f4967d3ace91492a39ededbcf3faa76a6","https://github.com/python/cpython/commit/1d29afb0d6218aa8fb5e1e4a6133a4778d89bb46","https://github.com/python/cpython/commit/76437ac248ad8ca44e9bf697b02b1e2241df2196","https://github.com/python/cpython/commit/8392b2f0d35678407d9ce7d95655a5b77de161b4","https://github.com/python/cpython/commit/bca11ae7d575d87ed93f5dd6a313be6246e3e388","https://github.com/python/cpython/commit/d11e69d6203080e3ec450446bfed0516727b85c3","https://github.com/psf/advisory-database/blob/main/advisories/python/PSF-2025-12.json","https://github.com/google/security-research/security/advisories/GHSA-hhv7-p4pg-wm6p"],"weaknesses":["CWE-1285"],"ingestedAt":"2026-10-29T20:10:04.440Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2025/8xxx/CVE-2025-8291.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2025-8291","state":"PUBLISHED","datePublished":"2025-10-07T18:10:05.908Z","dateUpdated":"2026-07-31T14:01:02.211Z","assignerShortName":"PSF","assignerOrgId":"28c92f92-d60d-412d-b760-e73465c3df22","dateReserved":"2025-07-28T21:05:06.237Z"},"containers":{"cna":{"title":"ZIP64 End of Central Directory (EOCD) Locator record offset not checked","descriptions":[{"lang":"en","value":"The 'zipfile' module would not check the validity of the ZIP64 End of\nCentral Directory (EOCD) Locator record offset value would not be used to\nlocate the ZIP64 EOCD record, instead the ZIP64 EOCD record would be\nassumed to be the previous record in the ZIP archive. This could be abused\nto create ZIP archives that are handled differently by the 'zipfile' module\ncompared to other ZIP implementations.\n\n\nRemediation maintains this behavior, but checks that the offset specified\nin the ZIP64 EOCD Locator record matches the expected value."}],"affected":[{"vendor":"Python Software Foundation","product":"CPython","defaultStatus":"unaffected","versions":[{"version":"0","status":"affected","lessThan":"3.9.24","versionType":"python"},{"version":"3.10.0","status":"affected","lessThan":"3.10.19","versionType":"python"},{"version":"3.11.0","status":"affected","lessThan":"3.11.14","versionType":"python"},{"version":"3.12.0","status":"affected","lessThan":"3.12.12","versionType":"python"},{"version":"3.13.0","status":"affected","lessThan":"3.13.10","versionType":"python"},{"version":"3.14.0","status":"affected","lessThan":"3.14.1","versionType":"python"}],"repo":"https://github.com/python/cpython"}],"references":[{"url":"https://github.com/python/cpython/pull/139702","tags":["patch"]},{"url":"https://mail.python.org/archives/list/security-announce@python.org/thread/QECOPWMTH4VPPJAXAH2BGTA4XADOP62G/","tags":["vendor-advisory"]},{"url":"https://github.com/python/cpython/issues/139700","tags":["issue-tracking"]},{"url":"https://github.com/python/cpython/commit/162997bb70e067668c039700141770687bc8f267","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/333d4a6f4967d3ace91492a39ededbcf3faa76a6","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/1d29afb0d6218aa8fb5e1e4a6133a4778d89bb46","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/76437ac248ad8ca44e9bf697b02b1e2241df2196","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/8392b2f0d35678407d9ce7d95655a5b77de161b4","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/bca11ae7d575d87ed93f5dd6a313be6246e3e388","tags":["patch"]},{"url":"https://github.com/python/cpython/commit/d11e69d6203080e3ec450446bfed0516727b85c3","tags":["patch"]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":4.3,"baseSeverity":"MEDIUM","confidentialityImpact":"NONE","integrityImpact":"LOW","privilegesRequired":"NONE","scope":"UNCHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N","version":"3.1"},"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}]}],"providerMetadata":{"shortName":"PSF","orgId":"28c92f92-d60d-412d-b760-e73465c3df22","dateUpdated":"2026-07-31T14:01:02.211Z"},"credits":[{"lang":"en","type":"reporter","value":"Caleb Brown (Google)"},{"lang":"en","type":"remediation developer","value":"Serhiy Storchaka"},{"lang":"en","type":"coordinator","value":"Seth Larson"}],"source":{"discovery":"UNKNOWN"},"x_generator":{"engine":"Vulnogram 0.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://github.com/psf/advisory-database/blob/main/advisories/python/PSF-2025-12.json","tags":["vendor-advisory"]},{"url":"https://github.com/google/security-research/security/advisories/GHSA-hhv7-p4pg-wm6p","tags":["technical-description","exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2025-10-29T15:15:06.403842Z","id":"CVE-2025-8291","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-1285","type":"CWE","lang":"en","description":"CWE-1285 Improper Validation of Specified Index, Position, or Offset in Input"}]}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2025-10-29T15:15:27.172Z"}}]}}}