Jenkinsの複数プラグインに脆弱性(CVE-2026-48920,CVE-2026-48921,CVE-2026-48922)

セキュリティニュース

投稿日時: 更新日時:

Jenkinsの複数プラグインに脆弱性(CVE-2026-48920,CVE-2026-48921,CVE-2026-48922)

Jenkins Projectは2026年5月27日、複数のJenkinsプラグインに関するセキュリティアドバイザリを公開しました。対象には、LDAP Plugin、Active Directory Plugin、Credentials Binding Plugin、Email Extension Plugin、Pipeline: Groovy Libraries Plugin、Job Import Pluginなど、CI/CD環境で利用されやすいプラグインが含まれます。

今回の脆弱性では、LDAP参照処理を悪用したJenkinsコントローラ上でのリモートコード実行、Jenkinsコントローラ上の任意ファイル読み取り、Credentials Binding Pluginのパストラバーサル、保存型XSS、CSRF、認可不備などが修正されています。特にCredentials Binding Plugin、Email Extension Plugin、Pipeline: Groovy Libraries Plugin、buildgraph-view PluginはHighに分類されています。

一方で、buildgraph-view Pluginの保存型XSSについては、アドバイザリ公開時点で修正版が提供されていません。該当プラグインを利用しているJenkins環境では、削除・無効化、権限制限、利用状況確認を優先する必要があります。

この記事のサマリー

  • Jenkinsは2026年5月27日、複数プラグインの脆弱性を公表しました。
  • 対象はLDAP Plugin、Active Directory Plugin、Credentials Binding Plugin、Email Extension Pluginなど11種類のプラグインです。
  • LDAP PluginとActive Directory Pluginでは、LDAP referralsを介したRMI URL誘導により、条件次第でJenkinsコントローラ上のRCEにつながる恐れがあります。
  • Email Extension PluginとPipeline: Groovy Libraries Pluginでは、Jenkinsコントローラ上の任意ファイル読み取りにつながる脆弱性が修正されています。
  • Credentials Binding Pluginでは、ファイル名の検証不備により、ノード上の任意パスへファイルを書き込まれる可能性があります。
  • buildgraph-view Pluginの保存型XSSは、アドバイザリ公開時点で修正版がありません。
  • 情シス・開発基盤担当者は、Jenkinsプラグイン更新、未修正プラグインの無効化、Jenkinsコントローラ上の認証情報・ビルド権限・ビルトインノード利用状況を確認する必要があります。

何が起きたか

Jenkins Projectは、2026年5月27日のセキュリティアドバイザリで、11種類のJenkinsプラグインに影響する複数の脆弱性を公表しました。

修正版が提供されているプラグインもありますが、buildgraph-view Pluginについては、アドバイザリ公開時点で修正版がありません。Jenkins Projectは、修正版がないプラグインとしてbuildgraph-view Pluginを明示しています。

修正・公表された主な脆弱性

CVE 対象プラグイン 深刻度 概要
CVE-2026-48916 / CVE-2026-48917 LDAP Plugin Medium LDAP referralsを介したSSRFとデシリアライズにより、条件次第でJenkinsコントローラ上のRCE
CVE-2026-48918 / CVE-2026-48919 Active Directory Plugin Medium Active Directory referralsを介したSSRFとデシリアライズにより、条件次第でJenkinsコントローラ上のRCE
CVE-2026-48920 Email Extension Plugin High メール本文内の画像インライン化機能を悪用したJenkinsコントローラ上の任意ファイル読み取り
CVE-2026-48921 Pipeline: Groovy Libraries Plugin High 共有ライブラリ内のシンボリックリンクを介したJenkinsコントローラ上の任意ファイル読み取り
CVE-2026-48922 Credentials Binding Plugin High file/zip認証情報のファイル名検証不備によるパストラバーサル、条件次第でRCE
CVE-2026-48923 AppSpider Plugin Medium 権限チェック不備により、Overall/Read権限の攻撃者が任意URLへ接続可能
CVE-2026-48924 Bitbucket OAuth Plugin Medium ログイン後リダイレクトURL制限不備によるオープンリダイレクト
CVE-2026-48925 GitHub Integration Plugin Medium CSRFによりPull Requestビルドを起動可能
CVE-2026-9674 Multijob Plugin Medium CSRFにより失敗したMultijobビルドを再開可能
CVE-2026-48926 Job Import Plugin Medium 権限チェック不備により、Jenkins内のcredentials IDを列挙可能
CVE-2026-48927 buildgraph-view Plugin High ビルドURLのエスケープ不備による保存型XSS。公開時点で修正版なし

特に注意すべき脆弱性

LDAP Plugin:LDAP referrals経由でRCEの恐れ

LDAP Plugin 807.v7d7de30930cf以前では、設定されたLDAPサーバからのLDAP referralsを追従します。このreferralがRMI URLへ転送されると、Jenkinsが攻撃者制御データをデシリアライズし、Jenkinsコントローラ上でRCEにつながる可能性があります。

攻撃には、攻撃者が設定済みLDAPサーバを制御できる、または中間者攻撃を実行できる条件が必要です。一般的なインターネット越しの未認証RCEとは条件が異なりますが、Jenkinsの認証基盤にLDAPを利用している場合、影響を軽視すべきではありません。

修正版のLDAP Plugin 807.809.vd3a_4e5e4ec98では、LDAP referralsを追従しないよう修正されています。

Active Directory Plugin:AD referrals経由でRCEの恐れ

Active Directory Plugin 2.41以前でも、設定されたActive DirectoryサーバからのLDAP referralsをデフォルトで追従します。これにより、RMI URLを介したデシリアライズが発生し、Jenkinsコントローラ上でRCEにつながる可能性があります。

攻撃条件はLDAP Pluginと同様に、攻撃者が設定済みActive Directoryサーバを制御できる、または中間者攻撃を行える場合です。

Active Directory Plugin 2.41.1では、デフォルトでLDAP referralsを追従しないよう修正されています。すぐに更新できない場合は、Javaシステムプロパティhudson.plugins.active_directory.referral.ignoretrueに設定することで緩和できます。

Credentials Binding Plugin:パストラバーサルで任意ファイル書き込み

Credentials Binding Plugin 720.v3f6decef43ea_以前では、fileまたはzip file認証情報のファイル名を適切に検証していません。

このため、ジョブに認証情報を提供できる攻撃者が、ノード上の任意の場所へファイルを書き込める可能性があります。Jenkinsが低権限ユーザーにfileまたはzip file認証情報の設定を許可しており、その認証情報をビルトインノード上で実行されるジョブが使用する構成では、RCEにつながる可能性があります。

Credentials Binding Pluginは、CI/CDで秘密情報をジョブへ注入するために広く使われます。クラウドキー、GitHubトークン、SSH鍵、Dockerレジストリ認証情報などを扱う環境では、優先して更新してください。

修正版はCredentials Binding Plugin 725.ve52b_2328a_fdeです。

Email Extension Plugin:Jenkinsコントローラ上の任意ファイル読み取り

Email Extension Plugin 1933.v45cec755423f以前では、メール本文内でdata-inline属性を使い画像をbase64でインライン化する機能において、画像URLに制限がありません。

このため、メール本文を制御できる攻撃者がfile: URLを指定し、Jenkinsコントローラのファイルシステム上の任意ファイルを読み取れる可能性があります。

Jenkinsコントローラには、ジョブ設定、認証情報のメタデータ、プラグイン設定、ビルドログ、内部設定ファイルが存在します。任意ファイル読み取りは、単体ではRCEではなくても、認証情報の特定や後続攻撃に使われる可能性があります。

修正版のEmail Extension Plugin 1933.1935.v276319e3cc47では、data-inline属性による画像インライン化機能が削除されています。

Pipeline: Groovy Libraries Plugin:共有ライブラリ経由の任意ファイル読み取り

Pipeline: Groovy Libraries Plugin 797.v90ea_a_9b_e45a_0以前では、共有ライブラリ内のシンボリックリンクが禁止されていません。

共有ライブラリの内容を制御できる攻撃者は、シンボリックリンクを悪用し、Jenkinsコントローラ上の任意ファイルを読み取れる可能性があります。

Jenkins Pipelineの共有ライブラリは、複数ジョブで共通のビルド処理やデプロイ処理を再利用するために使われます。外部リポジトリや開発者が編集できる共有ライブラリを利用している環境では、影響確認が必要です。

修正版はPipeline: Groovy Libraries Plugin 798.v5cc688825312です。

buildgraph-view Plugin:保存型XSS、修正版なし

buildgraph-view Plugin 1.8以前では、ビルドURLを適切にエスケープしません。

このため、ジョブまたはビューを設定できる攻撃者により、保存型XSSが成立する可能性があります。Jenkins Projectは、アドバイザリ公開時点でbuildgraph-view Pluginに修正版がないと明示しています。

保存型XSSは、Jenkins管理者や開発者が該当画面を開いた際に、攻撃者のJavaScriptを実行させる可能性があります。Jenkins上のセッション、CSRFトークン、画面上の情報、管理操作に影響する恐れがあるため、修正版が出るまで無効化または削除を検討してください。

影響を受けるバージョンと修正版

プラグイン 影響を受けるバージョン 修正版
Active Directory Plugin 2.41以前 2.41.1
AppSpider Plugin 1.0.17以前 1.0.18
Bitbucket OAuth Plugin 0.17以前 0.18
buildgraph-view Plugin 1.8以前 修正版なし
Credentials Binding Plugin 720.v3f6decef43ea_以前 725.ve52b_2328a_fde
Email Extension Plugin 1933.v45cec755423f以前 1933.1935.v276319e3cc47
GitHub Integration Plugin 0.7.3以前 0.7.4
Job Import Plugin 143.v044a_2e819b_27以前 143.145.v48f9a_a_6ff384
LDAP Plugin 807.v7d7de30930cf以前 807.809.vd3a_4e5e4ec98
Multijob Plugin 662.vd2e0001f6b_b_d以前 669.v9d96a_d9c71b_0
Pipeline: Groovy Libraries Plugin 797.v90ea_a_9b_e45a_0以前 798.v5cc688825312

Jenkins Projectは、上記の修正版に脆弱性修正が含まれると説明しています。buildgraph-view Pluginについては、公開時点で修正版がありません。

すぐに実施すべき対応

Step 1:対象プラグインの利用有無を確認する

まず、Jenkins環境で対象プラグインを利用しているか確認してください。

管理画面では、Manage JenkinsからPluginsへ進み、Installed pluginsおよびUpdatesを確認します。

CLIを利用できる場合は、以下のようにインストール済みプラグインを確認できます。

java -jar jenkins-cli.jar -s https://jenkins.example.com/ -auth USER:TOKEN list-plugins

確認対象は本番Jenkinsだけではありません。

確認対象 見落としやすいポイント
本番Jenkins デプロイ権限や本番シークレットを保持している場合があります
検証Jenkins 古いプラグインが残りやすく、ネットワーク的に本番へ到達できる場合があります
部門管理Jenkins 情シス台帳に載っていない場合があります
コンテナJenkins イメージ内に古いプラグインが固定されている場合があります
Jenkins Operator / Helm ChartやCasCでプラグインバージョンが固定されている場合があります
退役予定Jenkins 古い認証情報が残っている可能性があります

Step 2:修正版へ更新する

修正版が提供されているプラグインは、速やかに更新してください。

特に優先度が高いのは、以下のプラグインです。

優先度 プラグイン 理由
Credentials Binding Plugin 任意ファイル書き込みと条件次第のRCEにつながる可能性
Email Extension Plugin Jenkinsコントローラ上の任意ファイル読み取り
Pipeline: Groovy Libraries Plugin 共有ライブラリ経由で任意ファイル読み取り
LDAP Plugin / Active Directory Plugin 条件次第でJenkinsコントローラ上のRCE
buildgraph-view Plugin Highの保存型XSSだが修正版なし

更新後は、Jenkinsの再起動、プラグイン依存関係、ジョブ実行、認証連携、メール通知、Pipeline共有ライブラリの動作確認を行ってください。

Step 3:buildgraph-view Pluginを無効化または削除する

buildgraph-view Pluginは、今回のアドバイザリ公開時点で修正版がありません。

該当プラグインを利用している場合は、以下を検討してください。

対応 内容
無効化 利用していない場合は即時無効化
削除 不要であればアンインストール
権限制限 ジョブ・ビューを設定できるユーザーを最小化
管理者注意 Jenkins管理者が不審なビューやジョブを開かないよう注意
代替確認 代替プラグインや標準ビューで運用できるか確認

Step 4:LDAP / Active Directory referralsの設定を確認する

LDAP PluginとActive Directory Pluginでは、LDAP referralsの追従がRCEにつながる可能性があります。

Active Directory Pluginをすぐに更新できない場合は、Javaシステムプロパティhudson.plugins.active_directory.referral.ignore=trueによる緩和が案内されています。

確認すべき項目は以下です。

項目 確認内容
LDAPサーバ 信頼できるサーバだけを参照しているか
AD連携 Active Directory Pluginのバージョンが2.41.1以降か
LDAP Plugin 807.809.vd3a_4e5e4ec98以降か
ネットワーク Jenkinsコントローラから外部RMI URLへ到達できないか
TLS LDAP/LDAPS通信が保護されているか
中間者攻撃 JenkinsとLDAP/AD間のネットワークが信頼できるか

Step 5:Jenkinsコントローラ上のファイル読み取りリスクを確認する

Email Extension PluginとPipeline: Groovy Libraries Pluginの脆弱性では、Jenkinsコントローラ上の任意ファイル読み取りが問題になります。

更新とあわせて、以下を確認してください。

確認対象 内容
共有ライブラリ 外部ユーザーや低権限ユーザーが編集できないか
Pipeline定義 信頼できないリポジトリからJenkinsfileやライブラリを読み込んでいないか
メールテンプレート ビルドログやPR本文など外部入力がメール本文に入っていないか
コントローラ上の秘密情報 不要な秘密鍵、古い設定ファイル、バックアップが残っていないか
Jenkins Home バックアップや一時ファイルにシークレットが残っていないか

Step 6:Credentials Bindingの利用範囲を確認する

Credentials Binding Pluginは、Jenkinsジョブへ認証情報を渡すために広く使われます。

今回のパストラバーサルは、fileまたはzip file認証情報のファイル名検証不備に関係します。低権限ユーザーがジョブで使うfile/zip認証情報を設定できる環境では、影響が大きくなります。

確認項目は以下です。

項目 内容
file認証情報 誰が作成・更新できるか
zip file認証情報 ジョブ内で使っているか
ビルトインノード ジョブ実行を許可しているか
低権限ユーザー 認証情報やジョブ設定を変更できないか
ワークスペース 任意パスへの書き込みが発生していないか
シークレット 影響環境で使われていた認証情報の棚卸し

Jenkinsでは、ビルトインノード上でジョブを実行しない構成にすることも重要です。コントローラとビルド実行環境を分離しておくことで、コントローラ侵害時の影響を抑えられます。

監視で確認すべきポイント

更新とあわせて、すでに悪用の兆候がないか確認してください。

確認対象 見るべき内容
Jenkins監査ログ プラグイン設定変更、ジョブ設定変更、ビュー設定変更
ビルドログ 不審なfile URL、シンボリックリンク、外部通信
認証ログ LDAP/AD認証の異常、通常外の接続元
Jenkins Home 不審ファイル、意図しないファイル作成、権限変更
コントローラプロセス Jenkinsからの不審なRMI通信、curl、wget、sh、powershell起動
ジョブ設定 不審なビルド手順、外部スクリプト、資格情報の追加
認証情報 新規追加、変更、用途不明のcredentials ID
管理者操作 不審なプラグイン導入、スクリプトコンソール実行

Job Import Pluginの脆弱性では、Overall/Read権限を持つ攻撃者がcredentials IDを列挙できる可能性があります。credentials ID自体は秘密値ではありませんが、別の脆弱性やジョブ設定と組み合わせて認証情報窃取に使われる可能性があります。

Jenkins運用で確認すべき設定

今回の脆弱性対応を機に、Jenkins全体の権限と運用も見直してください。

項目 確認内容
プラグイン棚卸し 使っていないプラグインを削除する
権限管理 Overall/Read、Job/Configure、Credentials権限を最小化する
ビルトインノード 可能な限りジョブ実行を無効化する
管理者権限 管理者ユーザーを最小限にする
認証情報 不要なcredentialsを削除し、スコープを限定する
Pipeline共有ライブラリ 信頼できるリポジトリだけを利用する
外部PR 信頼できないPRでシークレットを使うジョブを実行しない
バックアップ Jenkins Homeのバックアップに秘密情報が含まれる前提で保護する
ネットワーク Jenkinsコントローラから外部への通信を必要最小限にする

Jenkinsは、CI/CDの利便性を高めるために強い権限を持ちがちです。プラグイン更新だけでなく、Jenkinsが持つ認証情報と到達可能なシステムを棚卸ししてください。

今後確認すべきこと

今回のアドバイザリでは、多くのプラグインに修正版が提供されていますが、buildgraph-view Pluginには修正版がありません。

今後確認すべき項目は以下です。

確認点 理由
buildgraph-view Pluginの修正版公開 現時点で修正版がないため
Jenkins Plugin Managerの更新状況 更新漏れを防ぐため
依存プラグインの互換性 更新後にジョブが失敗する可能性があるため
共有ライブラリの管理者 任意ファイル読み取りリスクに関係するため
credentialsの棚卸し Jenkins侵害時の影響範囲を把握するため
外部通信制御 LDAP referralsや外部URL接続の悪用を抑えるため
過去ログ調査 パッチ適用前に悪用されていないか確認するため

参考情報・出典