Jenkins CVE-2018-1000861 — Stapler フレームワーク経由の未認証 RCE
CVE-2018-1000861 は、Jenkins の Stapler Web フレームワークに存在するリモートコード実行脆弱性で、未認証の攻撃者が細工された HTTP リクエストで任意の Java メソッドを呼び出せる。CI/CD パイプラインの中核に位置する Jenkins の侵害は、ソースコード、ビルド成果物、デプロイ認証情報の漏えいに直結する。EPSS 94% で 6 年以上にわたり継続的な悪用が観測されている。
概要
- 識別子:CVE-2018-1000861
- CVSS v3.0:9.8(Critical)
- 影響を受けるバージョン:Jenkins LTS < 2.138.4、weekly < 2.154
- 修正バージョン:Jenkins LTS 2.138.4、weekly 2.154 以降
- 悪用観測:CISA KEV 収録、EPSS 94%、ボットネット標的
技術的な詳細
脆弱性のメカニズム
Jenkins が使用する Stapler Web フレームワークは、URL パスから Java オブジェクトのメソッドを動的に解決して呼び出す機能を持つ。問題は、認証チェック前のフェーズで Stapler のメソッド解決が行われ、攻撃者が URL を操作することで、本来は管理者権限を要する任意の Java メソッドを未認証で実行できた点にある。代表的な悪用パスは、メタプログラミング系の API を経由して Groovy スクリプトを実行する経路。
攻撃ベクター
- 細工された URL パスへの GET リクエスト(例:
/securityRealm/user/admin/descriptorByName/...) - Groovy スクリプトをエクスプロイトで送り込み、サーバー上のシェルコマンドを実行
- Jenkins の認証情報ストア(Jenkins Credentials)、秘密鍵、ビルド履歴、ソースコードリポジトリへのアクセス情報を窃取
影響範囲
- Jenkins LTS 2.138.4 未満および weekly 2.154 未満を運用中のすべてのインスタンス
- 特にインターネット公開している Jenkins サーバーは即時の標的
- 内部ネットワーク限定でも、踏み台経由の二次攻撃で侵害される可能性
推奨される技術的対応
- 即時:Jenkins LTS 2.138.4 以降(できれば最新 LTS)へアップグレード
- 恒久:Jenkins を社内ネットワーク限定にし、リバースプロキシ + SSO + 多要素認証で守る。直接インターネット公開は避ける
- 事後:Jenkins Credentials Store に保存された全認証情報をローテーション。ビルド履歴で異常な実行(Groovy / シェルコマンド)が無いか監査
非エンジニア向け — 経営・管理部門に向けた解説
何が問題か(1 分で)
自社のソフトウェア開発を支える「Jenkins」というビルド自動化サーバーに、外部から侵入できる穴があります。Jenkins が侵害されると、自社のソースコード・本番環境への接続鍵・ライブラリ等が外部に漏れる可能性があります。製造業の生産ラインに当たる開発インフラなので、侵害された場合の影響は事業全体に及びます。
自社への影響を判断する
- 自社の開発部門で Jenkins を使っているかを情シス・開発本部に確認
- 使っている場合、Jenkins のバージョンと外部公開状況
- 外注先で Jenkins を利用している場合、契約上のセキュリティ責任範囲を確認
経営判断のポイント
- 開発インフラの侵害は、知的財産(ソースコード)と本番環境(顧客データ)の二重リスク
- 「開発部門は IT 統制の例外」という暗黙の運用ルールがある組織では、本件をきっかけに統制範囲を見直すべき
- CI/CD インフラのセキュリティは、近年「ソフトウェア・サプライチェーン・セキュリティ」の文脈で監査の重点項目になっている
出典・関連リンク
本記事は公開情報に基づき Omamori AI 編集部が執筆しました。


