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

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

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

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

工具目录

分类

查看所有分类
Loading categories
CVE-2026-84361-poc — CVE-2026-84361 的概念验证,演示了通过恶意 P4PORT 在 Composer 的 Perforce 驱动程序中实现命令注入,并附带基于 Docker 的验证及缓解指南。 | Kitploit
工具/GitHubGitHub/saku0512/cve-2026-84361-poc
漏洞分析漏洞利用Web安全供应链安全学习与教育
GitHubsaku0512/cve-2026-84361-poc

CVE-2026-84361-poc

CVE-2026-84361 的概念验证,演示了通过恶意 P4PORT 在 Composer 的 Perforce 驱动程序中实现命令注入,并附带基于 Docker 的验证及缓解指南。

查看仓库
10小时28分前尚未审核

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

CVE-2026-84361: Composer Perforce P4PORT 命令执行 PoC

English version

在 Docker 中运行

使用 Docker Compose,可以在包含受影响 Composer 2.10.2 和 Perforce p4 客户端的隔离环境中进行验证。运行容器将禁用网络、设为只读、删除所有 capability,仅 tmpfs 的 /tmp 和 /work 可写。

root@kitploit:~
# 构建镜像(p4 从官方发布渠道获取并校验 SHA-256)
docker compose build

# 直接验证 p4 的 rsh: 行为(默认)
docker compose run --rm poc

# 通过存在漏洞的 Composer 进行验证
docker compose run --rm poc /usr/local/bin/run-composer-poc.sh

最后一条命令会在容器内的临时工作区中执行 composer update --prefer-source。由于使用了非 Perforce server 的标记命令,Composer 本身可能会失败,但只要标记被创建,就会显示 [+] VULNERABLE 并正常退出。

概述

这是针对 Composer 的 Perforce VCS 驱动中存在的 CVE-2026-84361 的本地验证 PoC。受影响的 Composer 在包 source.type 为 perforce 时,会将攻击者可控的 source.url 作为 p4 客户端的 P4PORT 传入。

p4 会将 rsh: / jsh: P4PORT 视为本地命令而非网络连接目标。因此,当安装不受信任的包元数据或 composer.lock 的 source 时,命令将以运行 Composer 的用户或 CI 账户的权限执行。

此 PoC 的载荷仅会在临时目录中创建一个空的标记文件。

发现者: saku0512 (GitHub)

免责声明

仅限用于教育目的以及获得明确许可的环境中的安全验证。未经许可,不得在他人系统或 CI 环境中执行。

漏洞详情

  • CVE ID: CVE-2026-84361
  • 类型: OS 命令注入 (CWE-78)
  • 影响: 以 Composer 运行用户权限执行任意命令
  • 受影响版本: Composer >= 1.0, < 2.2.30 以及 >= 2.3.0, < 2.10.3
  • 修复版本: 2.2.30 / 2.10.3

漏洞成立需要同时满足以下条件:p4 位于 PATH 中、攻击者能够控制 Perforce source 元数据、目标包从 source 安装。由于 Packagist.org 不允许 Perforce source 元数据,因此仅使用 Packagist 的场景不受影响。

PoC 使用方法

1. 前提条件

  • PHP
  • 待验证的 Composer(未修复版本)
  • Perforce p4 客户端
root@kitploit:~
php -v
p4 -V

2. 安全的 dry-run

默认情况下不会启动 p4,仅显示危险的 P4PORT 和将要执行的命令。

root@kitploit:~
php poc.php

3. 已获许可的本地验证

--execute 会将 rsh: P4PORT 传给 p4。载荷仅会在 sys_get_temp_dir() 下创建唯一标记,并默认进行清理。

root@kitploit:~
php poc.php --execute

如果出现 [+] VULNERABLE,即可确认已通过 P4PORT 执行了本地命令。如需保留标记,可添加 --keep-marker。

4. 通过 Composer 复现

随附的 composer.json 是攻击者分发 inline package repository 的最小示例。请在隔离环境中使用未修复的 Composer 和 p4 执行以下命令:

root@kitploit:~
composer update --prefer-source

修复版本会在启动 p4 之前,将 source.url 作为无效的 Perforce port 予以拒绝。

防护措施

请将 Composer 更新至 2.2.30 或 2.10.3 及以上版本。仅使用可信的仓库和 lock file,并在不使用 Perforce 的环境中从 PATH 中移除 p4。

参考信息

  • GitHub Security Advisory: GHSA-rvx4-ffvw-m9q3
  • 修复提交 (2.10 系列)
  • 修复提交 (2.2 系列)
下载工具