文章总结: Composer披露漏洞CVE-2026-59944,影响2.3.0至2.10.3及1.0至2.2.30版本,源于路径遍历和符号链接缺陷,恶意包可更改外部文件权限,暴露共享系统敏感文件。官方已在2.10.3和2.2.30修复,建议立即升级并从可信来源重建vendor目录。 综合评分: 82 文章分类: 漏洞分析,供应链安全,漏洞预警
Composer漏洞导致恶意依赖项暴露SSH密钥和敏感文件
ZM ZM
暗镜
2026年9月6日 06:00 北京
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
Composer(广泛使用的 PHP 依赖管理器)中新披露的一个安全漏洞可能允许恶意或被入侵的软件包更改位于其自身安装目录之外的文件的权限。
该问题(编号为 CVE-2026-59944)会在易受攻击的 Composer 版本处理不安全的软件包二进制路径时,暴露共享或多租户系统上的敏感文件。
该安全漏洞评级为中等,影响 Composer 版本 2.3.0 至 2.10.3 之前的版本,以及版本 1.0 至 2.2.30 之前的版本。
Composer 已在 2.10.3 和 2.2.30 版本中发布了修复程序。该漏洞源于Composer 管理软件包二进制文件的方式中存在的路径遍历 和符号链接处理缺陷。
恶意软件包可以声明一个二进制文件,该文件是一个符号链接,指向软件包目录之外的目标。
安装过程中,Composer 可能会跟踪该链接,更改外部文件的权限,并将其注册为项目 vendor/bin 目录下的可运行命令。
攻击者仅凭此漏洞无法直接执行远程代码或立即访问受害者的数据。但是,权限更改可以使原本只有所有者才能读取的文件变为所有人都可以读取和执行。
在共享主机环境、多用户服务器或构建平台上,其他本地用户或进程可能能够访问公开的内容。
该问题绕过了之前 Composer 安全公告 GHSA-gjfg-22fp-rrxx 中引入的保护措施。早期的安全加固措施会拒绝声明的包二进制文件中的字面“..”路径段,但该验证仅在依赖关系解析的一个阶段应用。
安全研究人员发现,当 Composer 处理从早期环境恢复的符号链接或依赖项元数据时,验证过程可能会被跳过。当组织重复使用来自不受信任或信任度较低的来源的供应商目录时,风险最高。
例如,供应商文件夹可能通过共享的 CI 缓存恢复,从早期容器构建阶段复制,从旧版 Composer 保留,或者被不太可信的构建过程修改。
GitHub安全公告指出,构建或部署管道中的普通composer install命令可能会利用运行 Composer 的帐户的权限,在静默的情况下应用危险的权限修改。
Composer 现在会验证每个声明的二进制文件是否都位于待安装软件包的目录中。如果某个二进制文件指向软件包路径之外,Composer 会跳过它并显示警告,而不是修改目标文件。
管理员和开发人员应立即升级到 Composer 2.10.3 或 2.2.30。从可信来源重建供应商目录也很重要,特别是对于CI/CD 管道、缓存依赖项、容器构建和部署系统。
该缺陷与 CWE-22 路径遍历、CWE-59 链路解析不当以及 CWE-732 关键资源权限分配错误有关。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:暗镜 ZM ZM《Composer漏洞导致恶意依赖项暴露SSH密钥和敏感文件》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论