Trusted Design

CVE-2024-23897 の詳細

CVEの情報

説明:
Jenkins 2.441 and earlier, LTS 2.426.2 and earlier does not disable a feature of its CLI command parser that replaces an '@' character followed by a file path in an argument with the file's contents, allowing unauthenticated attackers to read arbitrary files on the Jenkins controller file system.

CVE更新日: 2024-01-24 18:15:09.370000

CVSSバージョン: 3.1

CVSSスコア: 9.8

KEVの情報

KEV更新日: 2024-08-19

EPSSの情報

EPSSは脆弱性が今後30日以内に悪用される確率を予測するスコアリングシステムで、FIRST(Forum of Incident Response and Security Teams)が提供しています。
EPSSのスコアが高いということは、攻撃されるリスクが高いことを意味するので、早めの対策が必要です。

EPSSスコア: 0.999990000

EPSS更新日: 2026-10-16 00:00:00

SSVCの情報

SSVCはカーネギーメロン大学ソフトウェア工学研究所が提案する脆弱性の評価手法です。ステークホルダーごとに脆弱性対応の優先度を決定することを支援します。
本サイトでは、CVE、KEV、EPSSの内容からExploitation(悪用状況)、Technical Impact(技術的影響)、Automatable(自動攻撃の可否)を判定します。

Exploitation: active

Technical Impact: high

Automatable: True

AIを使った解説

解説:

CVE-2024-23897は、オープンソースのCI/CDツールであるJenkinsに存在する重大な脆弱性です。以下に、指定された観点から解説します。

1. 脆弱性の概要

Jenkinsのコマンドラインインターフェース (CLI) のコマンドパーサーに存在する、任意のファイル読み取りの脆弱性です。Jenkinsはargs4jライブラリを使用してCLIコマンドの引数を解析しますが、このライブラリのexpandAtFiles機能がデフォルトで有効になっており、引数内の「@」文字に続くファイルパスをファイルの内容に置き換えてしまうことに起因します。この機能は、Jenkins 2.441以前およびLTS 2.426.2以前のバージョンでは無効化できませんでした。

1.1 影響

この脆弱性により、認証されていない攻撃者がJenkinsコントローラーのファイルシステム上の任意のファイルを読み取ることが可能になります。認証されていない場合、通常はファイルの最初の数行のみを読み取ることができますが、"Overall/Read"権限を持つ攻撃者の場合はファイル全体を読み取ることが可能です。

機密ファイル(例:認証情報、APIキー、ソースコード、秘密鍵など)が漏洩する可能性があり、特定の条件下では、これがリモートコード実行 (RCE) につながる恐れがあります。

1.2 深刻度

Jenkinsセキュリティチームによって「Critical(クリティカル)」と評価されており、共通脆弱性評価システム (CVSSv3.1) のベーススコアは9.8です。米サイバーセキュリティインフラストラクチャセキュリティ庁 (CISA) は、この脆弱性が「悪用が確認された脆弱性カタログ (KEV)」に追加されており、実際に悪用が確認されていると報告しています。

2. 対象となる環境

2.1 影響を受けるOSバージョン

この脆弱性は特定のOSバージョンに依存するものではなく、Jenkinsソフトウェアのバージョンに依存します。

2.2 影響を受ける設定

  • 影響を受けるJenkinsのバージョン:
    • Jenkins 2.441およびそれ以前のバージョン
    • Jenkins LTS 2.426.2およびそれ以前のバージョン
  • 影響を受ける可能性がある設定:
    • レガシーモードの認可が有効になっている場合
    • 「ログイン済みユーザーは何でもできる」認可モードで「匿名ユーザーの読み取りアクセスを許可」がチェックされている場合
    • サインアップ機能が有効になっている場合
    • 脆弱性は、Jenkins CLIコマンドパーサーでargs4jライブラリのexpandAtFiles機能がデフォルトで有効になっていることに起因します。
  • 影響を受ける可能性のあるプラグイン:
    • 「Git server Plugin」
    • 「GitLab Branch Source Plugin」
    • 「Matrix Project Plugin」
    • 「Qualys Policy Compliance Scanning Connector Plugin」
    • 「Red Hat Dependency Analytics Plugin」

3. 影響を受けた時の兆候

  • Jenkinsサーバーへの「@」記号を含む異常なリクエスト
  • 不正なファイルアクセスログ

4. 推奨対策

4.1 本対策

以下のバージョンにJenkinsをアップグレードしてください。 * Jenkins 2.442 * Jenkins LTS 2.426.3 影響を受ける可能性のあるプラグインについても、修正されたアップデートが提供されているため、適用が必要です。

4.2 暫定回避策(緩和策)

  • CLIへのアクセスを無効化する: この回避策はJenkinsの再起動を必要としません。
  • 最小権限の原則の適用: ユーザーとプラグインに適切な権限レベルを割り当て、必要最小限の操作と機能のみを許可します。
  • セキュリティ設定の徹底: CSRF保護の有効化、不要な機能やプラグインの無効化、重要なファイルや鍵へのアクセス制限など、Jenkinsのセキュリティ設定を注意深く行います。
  • 鍵管理: Jenkinsで使用される鍵の適切な管理と保護(鍵ファイルへのアクセス権の制限、定期的な鍵の交換、安全な鍵ストレージの使用など)を行います。
  • ログの監視: Jenkinsのログファイルを定期的にレビューし、疑わしい活動や異常な動作を監視・検出します。

参照したサイト

NVDサイト

NVDでCVEの詳細を見る

戻る