PyInstaller工具漏洞预警,可致攻击者执行任意Python代码
PyInstaller修复本地权限提升漏洞(CVE-2025-59042),影响6.0.0前版本。攻击者可能通过恶意模块在引导过程中执行代码。修复方案包括移除字节码加密支持和优化引导过程。建议采取严格权限控制等防护措施。 2025-9-11 16:17:34 Author: www.freebuf.com(查看原文) 阅读量:9 收藏

freeBuf

主站

分类

云安全 AI安全 开发安全 终端安全 数据安全 Web安全 基础安全 企业安全 关基安全 移动安全 系统安全 其他安全

特色

热点 工具 漏洞 人物志 活动 安全招聘 攻防演练 政策法规

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

image

漏洞概况

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

技术原理

PyInstaller通过打包解释器和依赖项将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 Flaw : Are Your Python Apps Vulnerable to Hijacking?

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)


文章来源: https://www.freebuf.com/articles/system/448323.html
如有侵权请联系:admin#unsafe.sh