Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
CVE-2026-3854-PoC — X-Stat Push Option Injection による GitHub RCE | Kitploit
ツール/GitHubGitHub/lysophavin18/cve-2026-3854-poc
脆弱性分析コード分析エクスプロイトウェブアプリケーション悪用ペネトレーションテスト学習と教育
GitHublysophavin18/cve-2026-3854-poc

CVE-2026-3854-PoC

X-Stat Push Option Injection による GitHub RCE

リポジトリを見る
255ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

CVE-2026-3854 PoC — X-Stat Push Option Injection による GitHub RCE

教育目的および許可を得たセキュリティ研究目的のみに使用してください。
明示的な書面による許可なしに、いかなるシステムに対しても使用しないでください。


概要

CVE-2026-3854 は、GitHub Enterprise Server(および GitHub.com)の git push パイプラインにおけるリモートコード実行(RCE)の脆弱性です。

クライアントが push オプション(git push -o)を指定すると、GitHub の内部 Ruby コードは、各オプション値をセミコロンで区切ったフィールドとして連結し、X-Stat ヘッダーを構築します。値はそのまま(サニタイズなしで)挿入されるため、攻撃者は push オプションにセミコロンを埋め込むことで、ヘッダーに任意のキーと値のフィールドを注入し、セキュリティ上重要な設定を上書きできます。最終的には、git ユーザーとしてサンドボックスなしの RCE を達成します。

脆弱性の根本原因

X-Stat: repo_id=12345;user_id=alice;rails_env=production;...;push_option_0=<USER INPUT>

push オプションの値として normal_value;rails_env=staging を注入すると、次のようになります:

...;push_option_0=normal_value;rails_env=staging

パーサーは各キーの最後の出現を使用するため、rails_env は(サンドボックスなしの)staging になり、先に設定されていた正規の production 値を上書きします。


必要条件

  • Python 3.10 以降(組み込みの list[str] / dict[str, str] 型ヒントを使用)
  • サードパーティ製パッケージは不要

使い方

python3 exploi-git.py

このスクリプトは、3 つのデモをすべてメモリ内で連続して実行します。ネットワーク接続、シェルコマンド、ファイル書き込みは一切行いません:

Demo内容
1rails_env を上書きする基本的なセミコロンインジェクション
23 段階からなる概念的な RCE チェーンの全体
3パッチ適用後の動作 — セミコロンがパーセントエンコードされ、インジェクションが無効化される

パッチ

GitHub は、push オプション値を X-Stat ヘッダーに挿入する前にセミコロンをパーセントエンコードすることで、この脆弱性を修正しました:

normal_value;rails_env=staging  →  normal_value%3Brails_env=staging

これにより、セミコロンは値のリテラルな一部となり、インジェクションは成立しなくなります。


参考情報

  • Wiz Research ブログ記事
  • GitHub セキュリティブログ
  • NVD — CVE-2026-3854

免責事項

このリポジトリは、教育目的および許可を得たセキュリティ研究の支援のみを目的として提供されています。著者は悪用に対する一切の責任を負いません。自分が所有していないシステムに対してテストを行う前に、必ず明示的な書面による許可を取得してください。

ツールをダウンロード