CVE-2025-8291 (GCVE-0-2025-8291)

Vulnerability from cvelistv5 – Published: 2025-10-07 18:10 – Updated: 2025-12-02 17:43
VLAI?
Summary
The 'zipfile' module would not check the validity of the ZIP64 End of Central Directory (EOCD) Locator record offset value would not be used to locate the ZIP64 EOCD record, instead the ZIP64 EOCD record would be assumed to be the previous record in the ZIP archive. This could be abused to create ZIP archives that are handled differently by the 'zipfile' module compared to other ZIP implementations. Remediation maintains this behavior, but checks that the offset specified in the ZIP64 EOCD Locator record matches the expected value.
CWE
  • CWE-1285 - Improper Validation of Specified Index, Position, or Offset in Input
Assigner
PSF
Impacted products
Vendor Product Version
Python Software Foundation CPython Affected: 0 , < 3.9.24 (python)
Affected: 3.10.0 , < 3.10.19 (python)
Affected: 3.11.0 , < 3.11.14 (python)
Affected: 3.12.0 , < 3.12.12 (python)
Affected: 3.13.0 , < 3.13.10 (python)
Affected: 3.14.0 , < 3.14.1 (python)
Create a notification for this product.
Credits
Caleb Brown (Google) Serhiy Storchaka Seth Larson
Show details on NVD website

{
  "containers": {
    "adp": [
      {
        "metrics": [
          {
            "other": {
              "content": {
                "id": "CVE-2025-8291",
                "options": [
                  {
                    "Exploitation": "poc"
                  },
                  {
                    "Automatable": "no"
                  },
                  {
                    "Technical Impact": "partial"
                  }
                ],
                "role": "CISA Coordinator",
                "timestamp": "2025-10-29T15:15:06.403842Z",
                "version": "2.0.3"
              },
              "type": "ssvc"
            }
          }
        ],
        "problemTypes": [
          {
            "descriptions": [
              {
                "cweId": "CWE-1285",
                "description": "CWE-1285 Improper Validation of Specified Index, Position, or Offset in Input",
                "lang": "en",
                "type": "CWE"
              }
            ]
          }
        ],
        "providerMetadata": {
          "dateUpdated": "2025-10-29T15:15:27.172Z",
          "orgId": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
          "shortName": "CISA-ADP"
        },
        "references": [
          {
            "tags": [
              "vendor-advisory"
            ],
            "url": "https://github.com/psf/advisory-database/blob/main/advisories/python/PSF-2025-12.json"
          },
          {
            "tags": [
              "technical-description",
              "exploit"
            ],
            "url": "https://github.com/google/security-research/security/advisories/GHSA-hhv7-p4pg-wm6p"
          }
        ],
        "title": "CISA ADP Vulnrichment"
      }
    ],
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "CPython",
          "repo": "https://github.com/python/cpython",
          "vendor": "Python Software Foundation",
          "versions": [
            {
              "lessThan": "3.9.24",
              "status": "affected",
              "version": "0",
              "versionType": "python"
            },
            {
              "lessThan": "3.10.19",
              "status": "affected",
              "version": "3.10.0",
              "versionType": "python"
            },
            {
              "lessThan": "3.11.14",
              "status": "affected",
              "version": "3.11.0",
              "versionType": "python"
            },
            {
              "lessThan": "3.12.12",
              "status": "affected",
              "version": "3.12.0",
              "versionType": "python"
            },
            {
              "lessThan": "3.13.10",
              "status": "affected",
              "version": "3.13.0",
              "versionType": "python"
            },
            {
              "lessThan": "3.14.1",
              "status": "affected",
              "version": "3.14.0",
              "versionType": "python"
            }
          ]
        }
      ],
      "credits": [
        {
          "lang": "en",
          "type": "reporter",
          "value": "Caleb Brown (Google)"
        },
        {
          "lang": "en",
          "type": "remediation developer",
          "value": "Serhiy Storchaka"
        },
        {
          "lang": "en",
          "type": "coordinator",
          "value": "Seth Larson"
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "supportingMedia": [
            {
              "base64": false,
              "type": "text/html",
              "value": "\u003cp\u003eThe \u0027zipfile\u0027 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 \u0027zipfile\u0027 module\ncompared to other ZIP implementations.\u003c/p\u003e\n\u003cp\u003eRemediation maintains this behavior, but checks that the offset specified\nin the ZIP64 EOCD Locator record matches the expected value.\u003c/p\u003e"
            }
          ],
          "value": "The \u0027zipfile\u0027 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 \u0027zipfile\u0027 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."
        }
      ],
      "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": {
        "dateUpdated": "2025-12-02T17:43:54.139Z",
        "orgId": "28c92f92-d60d-412d-b760-e73465c3df22",
        "shortName": "PSF"
      },
      "references": [
        {
          "tags": [
            "patch"
          ],
          "url": "https://github.com/python/cpython/pull/139702"
        },
        {
          "tags": [
            "vendor-advisory"
          ],
          "url": "https://mail.python.org/archives/list/security-announce@python.org/thread/QECOPWMTH4VPPJAXAH2BGTA4XADOP62G/"
        },
        {
          "tags": [
            "issue-tracking"
          ],
          "url": "https://github.com/python/cpython/issues/139700"
        },
        {
          "tags": [
            "patch"
          ],
          "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"
        }
      ],
      "source": {
        "discovery": "UNKNOWN"
      },
      "title": "ZIP64 End of Central Directory (EOCD) Locator record offset not checked",
      "x_generator": {
        "engine": "Vulnogram 0.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "28c92f92-d60d-412d-b760-e73465c3df22",
    "assignerShortName": "PSF",
    "cveId": "CVE-2025-8291",
    "datePublished": "2025-10-07T18:10:05.908Z",
    "dateReserved": "2025-07-28T21:05:06.237Z",
    "dateUpdated": "2025-12-02T17:43:54.139Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "nvd": "{\"cve\":{\"id\":\"CVE-2025-8291\",\"sourceIdentifier\":\"cna@python.org\",\"published\":\"2025-10-07T18:16:00.317\",\"lastModified\":\"2025-10-29T16:15:35.133\",\"vulnStatus\":\"Awaiting Analysis\",\"cveTags\":[],\"descriptions\":[{\"lang\":\"en\",\"value\":\"The \u0027zipfile\u0027 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 \u0027zipfile\u0027 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.\"}],\"metrics\":{\"cvssMetricV31\":[{\"source\":\"cna@python.org\",\"type\":\"Secondary\",\"cvssData\":{\"version\":\"3.1\",\"vectorString\":\"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N\",\"baseScore\":4.3,\"baseSeverity\":\"MEDIUM\",\"attackVector\":\"NETWORK\",\"attackComplexity\":\"LOW\",\"privilegesRequired\":\"NONE\",\"userInteraction\":\"REQUIRED\",\"scope\":\"UNCHANGED\",\"confidentialityImpact\":\"NONE\",\"integrityImpact\":\"LOW\",\"availabilityImpact\":\"NONE\"},\"exploitabilityScore\":2.8,\"impactScore\":1.4}]},\"weaknesses\":[{\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\",\"type\":\"Secondary\",\"description\":[{\"lang\":\"en\",\"value\":\"CWE-1285\"}]}],\"references\":[{\"url\":\"https://github.com/python/cpython/commit/162997bb70e067668c039700141770687bc8f267\",\"source\":\"cna@python.org\"},{\"url\":\"https://github.com/python/cpython/commit/1d29afb0d6218aa8fb5e1e4a6133a4778d89bb46\",\"source\":\"cna@python.org\"},{\"url\":\"https://github.com/python/cpython/commit/333d4a6f4967d3ace91492a39ededbcf3faa76a6\",\"source\":\"cna@python.org\"},{\"url\":\"https://github.com/python/cpython/commit/76437ac248ad8ca44e9bf697b02b1e2241df2196\",\"source\":\"cna@python.org\"},{\"url\":\"https://github.com/python/cpython/commit/8392b2f0d35678407d9ce7d95655a5b77de161b4\",\"source\":\"cna@python.org\"},{\"url\":\"https://github.com/python/cpython/commit/bca11ae7d575d87ed93f5dd6a313be6246e3e388\",\"source\":\"cna@python.org\"},{\"url\":\"https://github.com/python/cpython/commit/d11e69d6203080e3ec450446bfed0516727b85c3\",\"source\":\"cna@python.org\"},{\"url\":\"https://github.com/python/cpython/issues/139700\",\"source\":\"cna@python.org\"},{\"url\":\"https://github.com/python/cpython/pull/139702\",\"source\":\"cna@python.org\"},{\"url\":\"https://mail.python.org/archives/list/security-announce@python.org/thread/QECOPWMTH4VPPJAXAH2BGTA4XADOP62G/\",\"source\":\"cna@python.org\"},{\"url\":\"https://github.com/google/security-research/security/advisories/GHSA-hhv7-p4pg-wm6p\",\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\"},{\"url\":\"https://github.com/psf/advisory-database/blob/main/advisories/python/PSF-2025-12.json\",\"source\":\"134c704f-9b21-4f2e-91b3-4a467353bcc0\"}]}}",
    "vulnrichment": {
      "containers": "{\"adp\": [{\"title\": \"CISA ADP Vulnrichment\", \"metrics\": [{\"other\": {\"type\": \"ssvc\", \"content\": {\"id\": \"CVE-2025-8291\", \"role\": \"CISA Coordinator\", \"options\": [{\"Exploitation\": \"poc\"}, {\"Automatable\": \"no\"}, {\"Technical Impact\": \"partial\"}], \"version\": \"2.0.3\", \"timestamp\": \"2025-10-29T15:15:06.403842Z\"}}}], \"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\"]}], \"problemTypes\": [{\"descriptions\": [{\"lang\": \"en\", \"type\": \"CWE\", \"cweId\": \"CWE-1285\", \"description\": \"CWE-1285 Improper Validation of Specified Index, Position, or Offset in Input\"}]}], \"providerMetadata\": {\"orgId\": \"134c704f-9b21-4f2e-91b3-4a467353bcc0\", \"shortName\": \"CISA-ADP\", \"dateUpdated\": \"2025-10-08T18:41:10.269Z\"}}], \"cna\": {\"title\": \"ZIP64 End of Central Directory (EOCD) Locator record offset not checked\", \"source\": {\"discovery\": \"UNKNOWN\"}, \"credits\": [{\"lang\": \"en\", \"type\": \"reporter\", \"value\": \"Caleb Brown (Google)\"}, {\"lang\": \"en\", \"type\": \"remediation developer\", \"value\": \"Serhiy Storchaka\"}, {\"lang\": \"en\", \"type\": \"coordinator\", \"value\": \"Seth Larson\"}], \"metrics\": [{\"format\": \"CVSS\", \"cvssV3_1\": {\"scope\": \"UNCHANGED\", \"version\": \"3.1\", \"baseScore\": 4.3, \"attackVector\": \"NETWORK\", \"baseSeverity\": \"MEDIUM\", \"vectorString\": \"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:L/A:N\", \"integrityImpact\": \"LOW\", \"userInteraction\": \"REQUIRED\", \"attackComplexity\": \"LOW\", \"availabilityImpact\": \"NONE\", \"privilegesRequired\": \"NONE\", \"confidentialityImpact\": \"NONE\"}, \"scenarios\": [{\"lang\": \"en\", \"value\": \"GENERAL\"}]}], \"affected\": [{\"repo\": \"https://github.com/python/cpython\", \"vendor\": \"Python Software Foundation\", \"product\": \"CPython\", \"versions\": [{\"status\": \"affected\", \"version\": \"0\", \"lessThan\": \"3.9.24\", \"versionType\": \"python\"}, {\"status\": \"affected\", \"version\": \"3.10.0\", \"lessThan\": \"3.10.19\", \"versionType\": \"python\"}, {\"status\": \"affected\", \"version\": \"3.11.0\", \"lessThan\": \"3.11.14\", \"versionType\": \"python\"}, {\"status\": \"affected\", \"version\": \"3.12.0\", \"lessThan\": \"3.12.12\", \"versionType\": \"python\"}, {\"status\": \"affected\", \"version\": \"3.13.0\", \"lessThan\": \"3.13.10\", \"versionType\": \"python\"}, {\"status\": \"affected\", \"version\": \"3.14.0\", \"lessThan\": \"3.14.1\", \"versionType\": \"python\"}], \"defaultStatus\": \"unaffected\"}], \"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\"]}], \"x_generator\": {\"engine\": \"Vulnogram 0.2.0\"}, \"descriptions\": [{\"lang\": \"en\", \"value\": \"The \u0027zipfile\u0027 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 \u0027zipfile\u0027 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.\", \"supportingMedia\": [{\"type\": \"text/html\", \"value\": \"\u003cp\u003eThe \u0027zipfile\u0027 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 \u0027zipfile\u0027 module\\ncompared to other ZIP implementations.\u003c/p\u003e\\n\u003cp\u003eRemediation maintains this behavior, but checks that the offset specified\\nin the ZIP64 EOCD Locator record matches the expected value.\u003c/p\u003e\", \"base64\": false}]}], \"providerMetadata\": {\"orgId\": \"28c92f92-d60d-412d-b760-e73465c3df22\", \"shortName\": \"PSF\", \"dateUpdated\": \"2025-12-02T17:43:54.139Z\"}}}",
      "cveMetadata": "{\"cveId\": \"CVE-2025-8291\", \"state\": \"PUBLISHED\", \"dateUpdated\": \"2025-12-02T17:43:54.139Z\", \"dateReserved\": \"2025-07-28T21:05:06.237Z\", \"assignerOrgId\": \"28c92f92-d60d-412d-b760-e73465c3df22\", \"datePublished\": \"2025-10-07T18:10:05.908Z\", \"assignerShortName\": \"PSF\"}",
      "dataType": "CVE_RECORD",
      "dataVersion": "5.2"
    }
  }
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.


Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…