中危 通过Composer中受损的InstalledVersions.php或installed.php执行代码和可能的权限升级(CVE-2024-24821)

CVE编号

CVE-2024-24821

利用情况

暂无

补丁情况

官方补丁

披露时间

2024-02-09
漏洞描述
Composer是PHP语言的依赖管理器。在受影响的版本中,在调用Composer时会包含本地工作目录中的几个文件,并在执行用户的上下文中执行。因此,在某些条件下,当在被篡改文件的目录中调用Composer时,任意代码执行可能导致本地权限提升、横向用户移动或恶意代码执行。所有的Composer CLI命令都受到影响,包括composer.phar的自更新。以下情况具有较高风险:以sudo权限运行Composer、在不受信任的项目上执行Composer的流水线、在同一项目上独立运行Composer的开发者共享环境。此漏洞已在版本2.7.0和2.2.23中得到修复。建议尽快应用修补过的版本。如果不可能进行更新,应采取以下措施:删除所有用户的sudo composer权限以减轻root权限提升的风险,并避免在不受信任的目录中运行Composer,如果需要在此类目录中运行,请验证`vendor/composer/InstalledVersions.php`和`vendor/composer/installed.php`的内容不存在不受信任的代码。还可以通过以下方法对这些文件进行重置:```sh
rm vendor/composer/installed.php vendor/composer/InstalledVersions.php
composer install --no-scripts --no-plugins
```
解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。
受影响软件情况
# 类型 厂商 产品 版本 影响面
1
运行在以下环境
应用 getcomposer composer * From
(including)
2.0.0
Up to
(excluding)
2.2.23
运行在以下环境
应用 getcomposer composer * From
(including)
2.3.0
Up to
(excluding)
2.7.0
运行在以下环境
系统 alpine_3.19 composer * Up to
(excluding)
2.7.0-r0
阿里云评分
6.6
  • 攻击路径
    远程
  • 攻击复杂度
    复杂
  • 权限要求
    普通权限
  • 影响范围
    全局影响
  • EXP成熟度
    未验证
  • 补丁情况
    官方补丁
  • 数据保密性
    无影响
  • 数据完整性
    无影响
  • 服务器危害
    无影响
  • 全网数量
    N/A
CWE-ID 漏洞类型
CWE-829 从非可信控制范围包含功能例程
阿里云安全产品覆盖情况