Wiz Researchは、GitHub内部のgitインフラストラクチャに深く組み込まれた重大なリモートコード実行(RCE)脆弱性であるCVE-2026-3854を特定しました。
この高い重大度の欠陥により、認証されたユーザーは標準的な任意のコマンドを実行できました。単一のgit pushコマンドを使用してバックエンドサーバーで。
この脆弱性は、リポジトリプッシュ操作中の特殊要素の不適切な中和に起因しています。
GitHubの内部アーキテクチャはgitプッシュを処理するために複数のサービスを使用し、X-Statという名前の内部ヘッダーを介してセキュリティが重要な構成メタデータを渡します。
プライマリエントリーサービスであるbabeldは、セミコロン文字をサニタイズせずに、ユーザーが制御するgitプッシュオプションをこの内部ヘッダーに直接コピーしました。
X-Statヘッダーがセミコロンをフィールド区切り文字として使用しているため、攻撃者は単にプッシュオプションにセミコロンを含めることで独自のメタデータフィールドを注入できました。Wizが報告した通りです。
内部ヘッダー解析メカニズムはlast-write-winsポリシーに従い、文字列の後に挿入されたフィールドが認証サービスによって設定された正当なセキュリティポリシーをサイレントに上書きすることを意味します。
| コンポーネント | 脆弱なバージョン | 修正されたバージョン |
|---|---|---|
| GitHub Enterprise Server | 3.19.1以前 | 3.14.25、3.15.20、3.16.16、3.17.13、3.18.7、3.19.4 |
攻撃者はこのデリミタインジェクションを利用して、セキュリティフラグを上書きし、システムを危険にさらしました。

完全なリモートコード実行へのエスカレーションには、3つの特定のフィールド注入をチェーンする必要がありました。
- 攻撃者はセキュリティサンドボックスをバイパスしてカスタムpre-receiveフックを直接実行するために、本番環境以外のrails_env値を注入しました。
- 彼らはサーバーがフックスクリプトを探す基本ディレクトリをリダイレクトするために、悪質なcustom_hooks_dir値を注入しました。
- 彼らはファイルシステム上の任意のバイナリをターゲットにするためのパストラバーサルシーケンスを含む製作されたrepo_pre_receive_hooks定義を提供しました。
実行されると、サンドボックス化されていないコードは内部gitサービスユーザーの特権の下で実行されました。
GitHub Enterprise Server(GHES)では、この欠陥はサーバーの完全な危険を招き、ホストされているすべてのリポジトリ、内部構成データ、およびシステムシークレットへの不正アクセスを付与しました。
GitHub.comでは、マルチテナントアーキテクチャがリスクを増幅させました。成功した悪用により、攻撃者はgitサービスユーザーとして実行される共有ストレージノードへの広いファイルシステムアクセスを取得できました。

このレベルのアクセスは、脅威アクターが理論的にそのノードを共有する全く異なる組織とユーザーに属する数百万の公開および非公開リポジトリを読む可能性があることを意味しました。
GitHubのマルチサービスアーキテクチャを管理する膨大な数のコンパイルされたブラックボックスバイナリを手動で抽出および分析することは、非常に非現実的です。
Wizの研究者は、内部通信プロトコルを体系的に再構築するために、AI拡張自動リバースエンジニアリングツール、特にIDA MCPを正常に使用しました。
これは、AI機能を使用してクローズドソースプラットフォームの複雑なクロスコンポーネント脆弱性を発見する方向への重要な業界シフトを強調しています。
GitHubは初期レポート後6時間以内にGitHub.comの脆弱性を軽減しました。自社ホスト環境では、攻撃がネットワークベースであり、単一リポジトリへのプッシュアクセスのみを必要とするため、即座なパッチが必要です。
翻訳元: https://gbhackers.com/github-com-and-enterprise-server-vulnerability/