CVE-2026-25645Python Requests库在2.33.0版本之前存在一个本地安全漏洞。问题出在`requests.utils.extract_zipped_paths()`工具函数中,该函数在处理zip归档文件解压至系统临时目录时,使用了可预测的文件名。若目标文件已存在,函数会直接重用该文件且不进行完整性校验。拥有临时目录写入权限的本地攻击者可预先植入恶意文件,使其被应用程序加载。该漏洞仅影响直接调用该特定函数的应用程序,Requests库的标准使用场景不受波及。
该漏洞的根本原因在于Python Requests库中`requests.utils.extract_zipped_paths()`函数实现了不安全的临时文件处理逻辑。在受影响版本(2.33.0之前)中,当该函数用于从ZIP归档中提取文件到系统临时目录时,它生成的文件名缺乏足够的随机性,导致路径可被预测。更为关键的是,代码逻辑中存在缺陷:如果目标路径下已经存在同名文件,函数会跳过正常的解压和校验步骤,直接复用该文件。攻击者利用此漏洞需要满足特定的前提条件:首先,攻击者必须具备对系统临时目录(通常是`/tmp`或`TMPDIR`环境变量指定的路径)的写入权限;其次,目标应用程序必须直接调用了这个特定的工具函数。攻击过程通常包括:攻击者预先在临时目录中创建一个与预期解压文件同名的恶意文件;随后,当合法用户或系统进程触发应用程序调用`extract_zipped_paths()`处理相关ZIP文件时,漏洞函数会错误地认为文件已就绪,从而加载并执行攻击者预设的恶意内容。这可能导致本地权限提升或应用程序行为被篡改。