021-62266992

行业动态
PyInstaller曝权限提升漏洞!
发布时间:2025-09-16浏览次数:570

image.png


PyInstaller曝权限提升漏洞,6.0.0之前版本需紧急升级

近日,PyInstaller项目发布安全更新,修复了一个影响6.0.0之前所有版本的本地权限提升漏洞(CVE-2025-59042,CVSS评分7.0)。该漏洞可能导致攻击者在PyInstaller打包应用程序的引导过程中执行任意代码,从而提升本地权限。

技术原理

PyInstaller是一款广泛使用的Python应用打包工具,通过将Python解释器和依赖项打包成独立可执行文件,使应用程序能够在未安装Python的环境中运行。

安全公告指出:"由于PyInstaller冻结应用在引导过程中会将特殊条目附加到sys.path,且引导脚本在sys.path仍包含该条目时尝试加载用于字节码解密的可选模块,导致使用PyInstaller 6.0.0之前版本构建的应用可能被低权限攻击者诱骗执行任意Python代码。"

该漏洞的成因在于特定条件下,引导脚本可能错误导入攻击者放置的恶意模块。攻击者需要在可执行文件旁创建精心构造的目录或zip压缩包,这些文件需模仿PyInstaller引导加载器用于传输PYZ存档位置的特定格式。

攻击条件

成功利用该漏洞需要同时满足以下五个前提条件:

  1. 使用PyInstaller 6.0.0之前版本构建的应用程序(影响onedir和onefile两种模式)

  2. 未启用可选的字节码加密功能

  3. 攻击者能在可执行文件所在目录创建文件/目录

  4. 文件系统允许在文件/目录名中使用"?"字符(非Windows系统)

  5. 攻击者能够确定嵌入式PYZ存档的偏移量

修复方案

PyInstaller团队分两个阶段解决了该问题:

  • 6.0.0版本:移除对字节码加密的支持,由于引导脚本不再尝试加载字节码解密模块,从根本上消除了该攻击向量

  • 6.10.0版本:通过消除使用sys.path传输PYZ存档位置的做法,进一步强化了引导过程的安全性

临时缓解措施

对于无法立即升级的环境,建议采取以下防护措施:

  • 对包含特权可执行文件(如setuid二进制文件)的目录设置严格的权限控制

  • 确保攻击者无法在敏感可执行文件旁创建任意文件

  • 限制对关键目录的写入权限,防止恶意文件的创建

建议所有使用PyInstaller 6.0.0之前版本的开发者和组织尽快升级到最新版本,以确保应用程序的安全性。对于已经部署的应用程序,应评估受影响程度并采取相应的防护措施。



Copyright © 2012-2025上海北郊科技有限公司 版权所有

沪ICP备20000467号-1