30秒で判断
対応すべき人
- Jenkinsを使用している
- かつ、信頼されていないユーザーがJenkinsのスクリプト(Groovy Pipeline、Scriptedパイプライン等)を作成・実行できる環境
対応不要な人
- Jenkinsを使用していない
- Jenkinsへのアクセスが完全に信頼された管理者のみに制限されている(スクリプト実行権限のある外部ユーザーが存在しない)
- Script Security Pluginを使用していない
- すでに修正版のScript Security Pluginを使用している
確認コマンド
# Jenkinsの管理画面から確認
# Jenkins管理 → プラグインの管理 → インストール済み → Script Security Plugin のバージョン確認
概要
Jenkins Script Security Pluginにおいて、Groovyのアノテーションによるアスペクト指向プログラミング機能(AST Transformation)を利用したサンドボックス回避の脆弱性があります。
Script Security Pluginはパイプラインスクリプト等のGroovyコードをサンドボックス環境で実行し、安全でない操作を制限しますが、特定のGroovy ASTトランスフォーメーションを悪用することでこのサンドボックスを回避し、Jenkins実行ユーザーの権限で任意のコードを実行できる可能性があります。
マルチユーザーのJenkins環境や、外部ユーザーが利用するCIシステムでの影響が特に大きいです。
CVSSベクトル
| 項目 | 値 |
|---|---|
| Attack Vector | Network |
| Attack Complexity | High |
| Privileges Required | Low |
| User Interaction | None |
| Scope | Unchanged |
| Confidentiality | High |
| Integrity | High |
| Availability | None |
| CVSSスコア | 7.5 (High) |
影響を受けるソフトウェア
| 製品 | バージョン |
|---|---|
| Jenkins Script Security Plugin | 修正版未満のバージョン |
修正バージョンと回避策
修正: Jenkinsセキュリティアドバイザリを参照し、Script Security Pluginの最新版にアップデートしてください。
# Jenkins CLIを使用したプラグインアップデート
java -jar jenkins-cli.jar -s http://localhost:8080/ install-plugin script-security
# または Jenkins管理 → プラグインの管理 → 更新 から更新
暫定的な回避策:
- 信頼されていないユーザーのスクリプト実行権限を剥奪する
- Scripted PipelineやGroovyスクリプトの使用を制限する(Declarative Pipelineへの移行)
- Groovyスクリプト実行前に管理者による承認を必須にする(
In-process Script Approvalの活用)
関連リンク
データソース: NVD (NIST)
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
