CVE-2026-24049wheel是Python官方用于操作wheel文件的命令行工具,遵循PEP 427标准。在wheel 0.40.0至0.46.1版本中,unpack函数存在严重的安全漏洞。该漏洞源于文件解压时对文件权限的错误处理逻辑:代码盲目信任归档头中的文件名进行chmod操作,而此时提取过程本身可能已经对路径进行了清理。攻击者可以精心构造恶意wheel文件,在用户解压时修改系统关键文件的权限,如/etc/passwd、SSH密钥、配置文件等。这种权限修改可使原本受保护的系统文件变为可写状态,从而实现本地权限提升或任意代码执行。该漏洞需要用户交互才能触发,攻击复杂度较低,无需认证即可利用。
该漏洞的核心问题在于wheel包的unpack函数在处理归档文件时存在路径验证与权限设置的不一致。具体来说:1) 解压过程中代码会对路径进行安全检查(如防止路径遍历),确保文件被提取到预期目录;2) 但在进行chmod权限设置时,代码直接使用归档头中原始的文件名,而该文件名可能包含指向系统敏感位置的路径(如../../etc/passwd)。攻击者利用这种逻辑差异,可以构造包含特殊路径条目的wheel归档,绕过路径安全检查后修改任意文件的权限。成功利用此漏洞的攻击者可以将只读系统文件改为可写状态,进而修改passwd文件添加后门用户、覆盖SSH authorized_keys、修改启动脚本等,最终实现权限提升或持久化控制。