脆弱性 / VULNERABILITIES / CI/CD
JenkinsがRCE含む33件の脆弱性を修正 — 中核のデシリアライゼーション欠陥に注意、2.580 / LTS 2.568.3へ更新を
Jenkinsプロジェクトは2026年9月2日、Jenkins中核と複数プラグインにまたがる33件の脆弱性を修正するセキュリティアドバイザリを公開した。
Jenkinsプロジェクトは2026年9月2日、Jenkins中核(core)と複数のプラグイン、関連コンポーネントにまたがる33件の脆弱性を修正するセキュリティアドバイザリを公開した。対象はJenkins本体のほか、Allure PluginやGitLab Plugin、LDAP Plugin、Microsoft Entra ID Plugin、SAML Pluginなど13種以上のプラグインと、Staplerフレームワーク、update-center2に及ぶ。JenkinsはJenkins 2.580およびLTS 2.568.3でこれらを修正し、管理者に速やかな更新を推奨している。
今回のアドバイザリで最も影響が大きいのは、中核のデシリアライゼーションとStaplerの処理に起因してリモートコード実行(RCE)に至る恐れがある問題(SECURITY-3972)だ。Jenkinsは設定やビルドデータをXStreamで直列化して保存し、独自のデシリアライゼーションフィルター(JEP-200)で許可された型のみを復元する設計だが、2.579以前とLTS 2.568.2以前では、独立したトップレベルの設定ファイルに保存される型のオブジェクトが、他オブジェクトのネストされたフィールド値としてconfig.xml経由で投入され、StaplerのHTTPリクエスト処理で再利用されることで、本来保護されたScript Consoleへ到達できる組み合わせが存在した。Jenkins 2.580とLTS 2.568.3では、独立したトップレベルファイルに保存される型のオブジェクトが他オブジェクトのネスト値としてデシリアライズされないように制限することでこの経路を塞いだと同プロジェクトは説明している。
権限やセッションを巡る広範な欠陥 — XSSやCSRFトークン漏えいも
JenkinsはSECURITY-3972以外にも、権限やセッション管理、入力処理に関する複数の欠陥を同時に修正した。いずれもJenkins 2.580とLTS 2.568.3で対処されている。
- ユーザー作成の悪用(SECURITY-3431関連): 2.579以前では、ユーザーオブジェクトが他XMLオブジェクトのネスト値としてデシリアライズされることで、Overall/Read権限を持つ攻撃者が細工したXMLでユーザーオブジェクトを作成できる恐れがあった。修正版ではユーザーオブジェクトを独立したトップレベルファイルに保存される型として宣言し、SECURITY-3972の修正と合わせてネスト時のデシリアライズを防止した。
- フォームバインディングでの型生成の悪用(Stapler): Stapler 2107.v8dfcb_e8ed317以前(2088.2093.vd7c3e58008a_6を除く)では、フォーム送信時の型生成が期待されるフィールド型と互換性のない型でも許容され、Overall/Read権限の攻撃者が意図しない設定関連の型を生成できる恐れがあった。修正版ではフィールド型と互換性のある型のみを生成するよう制限した。
- システムログビューアのXSS: 2.579以前のシステムログビューアはログのメタデータ(source、level、timestamp)をエスケープせず、エージェントを制御する攻撃者が悪用して保存型XSSを成立させる恐れがあった。修正版では表示前にエスケープする。
- CSRFトークン(crumb)の漏えい: Stapler 1839.ved17667b_a_eb_5から2107.v8dfcb_e8ed317に含まれる動的JavaScriptが、ユーザーのCSRFトークンを文字列リテラルとして埋め込んでいたため、同一サイト内の別サブドメインに置かれたページからスクリプトとして読み込まれ、トークンが窃取される恐れがあった。Jenkins 2.580とLTS 2.568.3では、DOMから実行時に読み取る式へ置き換えることで漏えいを防いだ。
- transientフィールドの復元悪用やエージェント乗っ取り、セッション固定なども修正対象に含まれる。transientと宣言されたフィールドが後方互換性のためにデシリアライズ時に読み戻される挙動を悪用して値を指定される問題、REST APIとCLIでエージェント設定の更新時に別エージェント名を指定して上書きし権限を奪う問題、「Keep me signed in」のremember meクッキーで認証後にセッションをローテーションしないセッション固定の問題について、いずれも修正版で制限やローテーションが追加されたと同プロジェクトは説明している。
これら中核の修正に加え、Allure PluginやCustomizable Header Plugin、File Parameter Plugin、GitLab Plugin、Job Configuration History Plugin、LDAP Plugin、Microsoft Entra ID Plugin、Parameterized Remote Trigger Plugin、Performance Plugin、Pipeline関連プラグイン、SAML Plugin、Script Security Plugin、SonarQube Scanner Plugin、ThinBackup Plugin、TICS Plugin、XebiaLabs XL Deploy Pluginといったプラグイン側の脆弱性も同日アドバイザリで修正された。Jenkinsはプラグインを利用している場合も含め、Jenkins本体とプラグインを最新版へ更新するよう呼びかけている。
影響を受けるバージョンと更新 — Jenkinsが推奨する対応
Jenkinsプロジェクトによると、RCEを含む中核の脆弱性はJenkins 2.579以前とLTS 2.568.2以前が影響を受け、修正版はJenkins 2.580とLTS 2.568.3だ。同プロジェクトは、影響を受けるバージョンを利用している管理者に対し、Jenkins本体を2.580またはLTS 2.568.3へ、対象プラグインを修正版へそれぞれ速やかに更新することを推奨している。更新時は事前にバックアップを取得し、ステージング環境での動作確認を経て本番へ適用することが望ましい。
JenkinsはCI/CD(継続的インテグレーション/継続的デリバリー)の中核として日本企業でも広く利用され、ビルドやデプロイの自動化、外部サービス連携のハブとなっている。RCEや権限昇格、セッション固定といった欠陥は、放置するとビルド成果物の改ざんや認証情報の窃取、内部ネットワークへの侵入拡大につながる恐れがある。Jenkinsプロジェクトが推奨する修正版への更新を優先し、公開後は変更履歴や不審なジョブ実行の有無を確認することが重要だ。
出典
この記事は、公開情報と編集部の調査・知見をもとに構成しています。内容は公開時点の情報に基づく解説であり、個別の環境への診断・対応を保証するものではありません。重要な判断では、記事内の出典や各提供元の最新情報もご確認ください。