CVE-2026-25645: Insecure Temp File Reuse in Python Requests
CVE-2026-25645: Insecure Temp File Reuse in Python Requests
Vulnerability Summary: A local attacker with write access to the temporary directory could pre-create a malicious file to be reused by the
requestslibrary, leading to an integrity breach.
Vulnerability Details
- CVE ID: CVE-2026-25645 / GHSA-gc5v-m9x4-r6x2
- Severity: Moderate (4.4)
- CWE: CWE-377: Insecure Temporary File
- CVSS Vector:
CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:U/C:N/I:H/A:N
Impact
The requests.utils.extract_zipped_paths() utility function uses a predictable filename when extracting files from zip archives into the system temporary directory. If the target file already exists, it is reused without validation.
A local attacker with write access to the temp directory could pre-create a malicious file that would be loaded in place of the legitimate one.
Affected Usages
Standard usage of the Requests library is not affected by this vulnerability. Only applications that call extract_zipped_paths() directly are impacted.
Remediation
- Upgrade: Upgrade to at least Requests 2.33.0, where the library now extracts files to a non-deterministic location.
- Workaround: If you’re unable to upgrade, you can set
TMPDIRin your environment to a directory with restricted write access.
This post is licensed under CC BY 4.0 by the author.