SECURITY-3911およびCVE-2026-70426として追跡されているクリティカルなJenkinsの脆弱性により、悪意のあるJenkinsエージェントやAgent/Connect権限を持つ攻撃者がコードを実行できる可能性があります。Jenkinsコントローラー上でのコード実行が可能になるおそれがあります。
この問題は、コントローラーとビルドエージェント間のシリアライズされたオブジェクト通信を処理するRemotingライブラリの脆弱なバージョンを使用しているJenkins環境に影響します。
この脆弱性はCVSS 3.1でクリティカルの9.0と評価されており、ネットワーク経由の攻撃ベクトル、一部の露出シナリオでは権限不要、スコープの変更、そして機密性・完全性・可用性への高い影響を伴います。
悪用に成功すると、攻撃者はJenkinsコントローラーを制御下に置く可能性があり、ビルドパイプライン、保存されている認証情報、ソースコード、接続されているデプロイ環境が危険にさらされます。
Jenkinsは、agent.jarやremoting.jarとして一般的に配布されているRemotingライブラリに依存し、コントローラーとエージェント間の通信を実現しています。
この通信ではシリアライズされたJavaオブジェクトが使用されますが、これは信頼できないオブジェクトがデシリアライズされた場合に重大なセキュリティリスクを伴うことで知られている仕組みです。
このリスクを軽減するため、JenkinsはJEP-200クラスフィルターを導入しました。このフィルターは、コントローラーがRemotingチャネル経由でオブジェクトを受信する際に、デシリアライズ可能なクラスを制限します。
しかし研究者らは、脆弱なRemotingのリリースではこの保護が一貫して適用されていないことを発見しました。Remoting 3384.v60d89463d9e0以前のバージョン(バージョン3355.3357.v931d3c992987を除く)では、フォールバックのデシリアライズ経路を通じて解決されるクラスがJEP-200フィルターを回避してしまいます。
攻撃者は、フォールバック経路をトリガーする特別に細工されたシリアライズオブジェクトを送り込み、Jenkinsコアのクラスパスから対象となるクラスを読み込ませることで、このギャップを悪用できます。
この欠陥は、エージェントプロセス、Jenkinsエージェント上で既に実行中のコード、あるいはAgent/Connect権限を持つユーザーや攻撃者によって悪用される可能性があります。
悪用に成功した場合、この問題はエージェント環境内にとどまらず、Jenkinsコントローラー上での任意コード実行を許してしまうおそれがあります。
この点は重要です。というのも、Jenkinsコントローラーはソースコード管理のトークンをはじめ、クラウドアクセスキー、アーティファクトリポジトリの認証情報、署名用のシークレット、デプロイ権限など強力な認証情報を頻繁に保持しているためです。
コントローラーが侵害されると、ビルドジョブの改変、リリース成果物の改ざん、パイプラインへの悪意あるコードの注入、あるいは他の社内システムへの侵入拠点として悪用される可能性もあります。
この露出範囲は、Jenkinsコアのクラスパス上で利用可能なクラスに限定されます。これにはJenkinsに同梱されているクラスやJavaプラットフォームが提供するクラスが含まれますが、旧来のJEP-200導入前のデシリアライズ拒否リストに含まれていないことが条件です。
この問題はJenkins 2.575以前、およびJenkins LTS 2.568.1以前に影響します。Jenkinsはこの脆弱性への対処をJenkins 2.576およびLTS 2.568.2で行いました。
修正版のリリースではRemotingが更新され、フォールバックのコード経路を通じてクラスが解決される場合にもJEP-200クラスフィルターが確実に適用されるようになっています。
Jenkinsコントローラーを運用している組織は、特にビルドエージェントが共有されている場合、動的にプロビジョニングされている場合、外部で管理されている場合、あるいは信頼できないワークロードを実行できる場合には、パッチ適用済みリリースへのアップグレードを優先すべきです。
すぐにアップグレードできない管理者は、Jenkins SECURITY-3911-3930のGitHubリポジトリで提供されているベンダー製の回避策を利用できます。
また、チームはAgent/Connect権限を見直し、エージェントの接続先を信頼できるシステムに制限し、ビルドエージェントを隔離した上で、予期しないRemoting活動がないかコントローラーのログを監査すべきです。
ANY.RUNのブラウザ内データ検査で、検知・調査・対応をより迅速に。フィッシングの完全な可視性を獲得し、SOCを強化してMTTRを削減しましょう
翻訳元: https://cyberpress.org/critical-jenkins-vulnerability/