Impact
The utility function extract_zipped_paths() creates a predictable temporary file name, letting a local attacker who can write to the system temp directory pre‑create a malicious file that will be reused by the library, allowing the application to load harmful data or code. This vulnerability only affects the Requests library when extract_zipped_paths() is called directly and does not impact standard HTTP request usage. The result is a local file overwrite that could lead to arbitrary code execution within the process.
Affected Systems
The Python Requests library versions prior to 2.33.0 are affected. Any application that imports or invokes extract_zipped_paths() may be vulnerable. The fix is available in version 2.33.0 and newer, which extracts files to a nondeterministic location. The vulnerability concerns the requests.utils module in the psf:requests product.
Risk and Exploitability
The CVSS score is 4.4, indicating moderate severity, and the EPSS score is less than 1%, meaning a low likelihood of exploitation in the wild. Furthermore, the vulnerability is not listed in the CISA KEV catalog. Exploitation requires local write access to the temporary directory and direct use of extract_zipped_paths(); thus, the attack vector is local only. Mitigation consists mainly of upgrading the library or configuring the environment variable TMPDIR to a directory with restricted write permissions.
OpenCVE Enrichment
Github GHSA