CVE-2026-3087Python标准库中的shutil.unpack_archive()函数存在安全漏洞。在Windows系统上,当使用该函数解压包含带盘符绝对路径(例如C:\path\to\file)的ZIP归档文件时,文件会被错误地提取到目标目录之外,而非预期的解压文件夹。攻击者可利用此缺陷将文件写入任意位置,从而覆盖系统关键文件或植入恶意代码,破坏系统完整性。该漏洞无需用户交互即可被利用,仅影响Windows操作系统。
该漏洞源于Python标准库shutil模块在Windows平台处理ZIP归档时的路径校验逻辑缺陷。在Windows操作系统中,绝对路径通常以盘符开头(例如C:\)。当unpack_archive()函数解压ZIP文件时,未能正确识别并过滤文件名中包含的绝对路径信息。攻击者可以构造恶意的ZIP归档文件,将内部文件名设置为指向系统关键目录的绝对路径(如C:\Users\Public\malicious.exe)。当受害者使用受影响版本的Python解压此文件时,程序会忽略目标目录限制,直接将文件解压到绝对路径指定的位置。这种漏洞允许攻击者覆盖系统任意文件或植入恶意程序,从而破坏系统完整性。由于该漏洞利用无需用户交互且无需特殊权限,攻击者可轻易通过诱导用户解压文件来实施攻击,仅Windows平台受此影响。