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 to at least Requests 2.33.0, where the library now extracts files to a non-deterministic location.
If you're unable to upgrade, you can set TMPDIR in your environment to a directory with restricted write access.
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 to at least Requests 2.33.0, where the library now extracts files to a non-deterministic location.
If you're unable to upgrade, you can set
TMPDIRin your environment to a directory with restricted write access.