Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/saku0512/cve-2026-84361-poc
Vulnerability AnalysisExploitationWeb SecuritySupply Chain SecurityLearning & Education
GitHubsaku0512/cve-2026-84361-poc

CVE-2026-84361-poc

Proof-of-concept for CVE-2026-84361, demonstrating command injection in Composer's Perforce driver via malicious P4PORT, with Docker-based verification and mitigation guidance.

リポジトリを見る
10時間27分前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

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 は p4 に rsh: P4PORT を渡します。ペイロードは 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 を起動する前に無効な Perforce port として source.url を拒否します。

対策

Composer を 2.2.30 または 2.10.3 以降へ更新してください。信頼できるリポジトリと lock file だけを使用し、Perforce を使わない環境では p4 を PATH から除外してください。

参考情報

  • GitHub Security Advisory: GHSA-rvx4-ffvw-m9q3
  • 修正コミット (2.10 系)
  • 修正コミット (2.2 系)
ツールをダウンロード