Jenkins の複数の脆弱性が FIX:コントローラー上での RCE や CLI 実行などの恐れ

New Critical Jenkins Vulnerabilities Put CI/CD Servers at Risk of RCE Exploits

2026/03/20 gbhackers — Jenkins プロジェクトが公開したのは、コア自動化サーバおよび LoadNinja プラグインに存在する、複数の深刻な脆弱性に対処するセキュリティ・アドバイザリである。これらの脆弱性が CI/CD (Continuous Integration / Continuous Deployment) 環境にもたらすリスクには、任意のファイル作成/認証情報の漏洩/リモートコード実行 (RCE) などがある。

Jenkins コントローラーは、エンタープライズ・ネットワーク全体で高権限を持つことが多い。そのため、管理者にとって必要なことは、最優先でパッチを適用し、ビルドパイプラインを保護することである。

アーカイブ展開とシンボリックリンク悪用

1 つ目の脆弱性 CVE-2026-33001 (High) は、任意のファイル作成を許す深刻な欠陥であり、Jenkins コアバージョン 2.554 および LTS 2.541.2 以下に影響を及ぼす。

根本的な原因は、”.tar” および “.tar.gz” アーカイブ展開時におけるシンボリックリンク処理にある。この欠陥を突く攻撃者は、コントローラーのファイル・システム上の任意の場所へ、ファイルを書き込む悪意のアーカイブ生成を可能にする。

唯一の制約は、Jenkins サービスを実行するユーザーに割り当てられた、オペレーティング・システム上でのファイル操作の権限である。したがって、ジョブ設定またはエージェント・プロセス制御の権限を持つ攻撃者は、”Archive the artifacts” などのポスト・ビルド機能の悪用が可能となる。

意図されたディレクトリを逸脱する攻撃者は、”JENKINS_HOME/init.groovy.d/” ディレクトリへの悪意の Groovy スクリプトの書き込み、または、”JENKINS_HOME/plugins/” フォルダへの未承認ツールの配置を可能にする。

これにより、サービス再起動または新規ファイル処理が実行される際に、Jenkins コントローラー上での完全な RCE が引き起こされる。

WebSocket CLI における DNS リバインディング

2 つ目の脆弱性 CVE-2026-33002 (High) は、Jenkins CLI (Command-Line Interface) の WebSocket エンドポイントにおける DNS リバインディングの欠陥である。

CSWSH (cross-site WebSocket hijacking) を防ぐために導入されたオリジン検証は、Host または X-Forwarded-Host HTTP ヘッダに依存しているため安全ではない。

この脆弱性を悪用する攻撃者は、DNS リバインディングを介して悪意の Web サイトにユーザーを誘導し、Jenkins コントローラーの内部 IP アドレスの名前解決を引き起こせる。それにより、信頼されていないオリジンからの WebSocket 接続が確立される。

Jenkins インスタンスが HTTP で公開され、匿名ユーザーに高権限が付与されている場合には、攻撃者による管理者 CLI コマンドの実行が可能となる。

この攻撃は、環境における認可コンフィグに依存するものだが、組み込み Groovy スクリプト機能 (groovy/groovysh コマンド) を介した任意コード実行へと容易にエスカレートするため、サーバ全体の侵害につながる。

LoadNinja プラグインの脆弱性

3 つ目と 4 つ目の脆弱性 CVE-2026-33003/CVE-2026-33004 は、LoadNinja プラグインに存在する Medium レベルの欠陥である。このプラグインのバージョン 2.1 以下では、Jenkins コントローラ上の “job config.xml” ファイル内に平文の API キーが保存される。さらに、このプラグインには、GUI のジョブ・コンフィグ画面において API キーをマスクしないという欠陥がある。

この脆弱性を悪用する、プラグインの読み取り権限を持つユーザーと、ファイル・システムへの直接アクセスが可能なユーザーは、機密認証情報を容易に取得できる。それにより、外部のテスト環境への侵入が引き起こされる可能性がある。

緩和策および対策

管理者にとって必要なことは、Jenkins 週次版 2.555 または Jenkins LTS 版 2.541.3 への速やかなアップグレードにより、インフラを保護することだ。

これらの修正リリースでは、アーカイブ展開時の厳格なパス検証が導入され、ターゲットディレクトリ外またはシンボリックリンク経由のファイル展開を拒否する。また、CLI オリジン検証については、操作可能な HTTP ヘッダではなく、正式にコンフィグされた Jenkins URL ベースで実行される。

また、LoadNinja を使用する組織は、API キーの暗号化およびマスキングを実装するバージョン 2.2 へ更新する必要がある。

迅速なアップデートが不可能なセキュリティ・チームは、すべてのコントローラーに認証を強制し、匿名ユーザーの権限を剥奪し、Jenkins へのアクセスを HTTPS のみに限定する必要がある。この措置により、攻撃面を最小化できる。