Trusted Design

CVE-2022-24816 の詳細

CVEの情報

説明:
JAI-EXT is an open-source project which aims to extend the Java Advanced Imaging (JAI) API. Programs allowing Jiffle script to be provided via network request can lead to a Remote Code Execution as the Jiffle script is compiled into Java code via Janino, and executed. In particular, this affects the downstream GeoServer project. Version 1.2.22 will contain a patch that disables the ability to inject malicious code into the resulting script. Users unable to upgrade may negate the ability to compile Jiffle scripts from the final application, by removing janino-x.y.z.jar from the classpath.

CVE更新日: 2022-04-13 21:15:07.683000

CVSSバージョン: 3.1

CVSSスコア: 10.0

KEVの情報

KEV更新日: 2024-06-26

EPSSの情報

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

EPSSスコア: 0.999110000

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

SSVCの情報

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

Exploitation: active

Technical Impact: high

Automatable: True

AIを使った解説

解説:

CVE-2022-24816は、GeoServerのjt-jiffle拡張機能におけるコードインジェクションの脆弱性であり、認証なしのリモートコード実行 (RCE) を可能にします。

1. 脆弱性の概要

1.1 影響

この脆弱性は、ネットワークリクエストを通じてJiffleスクリプトが提供されることを許可するプログラムにおいて、JiffleスクリプトがJaninoを介してJavaコードにコンパイルされ実行されることで、リモートコード実行 (RCE) を引き起こす可能性があります。特に、地理空間データ共有のためのオープンソースサーバーであるGeoServerプロジェクトに影響を与えます。認証されていない攻撃者によって悪用される可能性があります。

1.2 深刻度

この脆弱性のCVSSv3スコアは9.8(Critical)と評価されています。また、CISAの既知の悪用されている脆弱性(Known Exploited Vulnerabilities: KEV)リストに追加されており、実際に悪用が確認されています。

2. 対象となる環境

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

特定のOSバージョンに限定されず、脆弱性のあるソフトウェアが稼働している環境が影響を受けます。

2.2 影響を受ける設定

  • jt-jiffle を使用し、ネットワークリクエストを介してJiffleスクリプトの提供を許可するプログラムが影響を受けます。
  • 特にGeoServerプロジェクトが影響を受けます。
  • Jiffleを含むJAI-EXT APIは、GeoServerでデフォルトで有効になっています。
  • 脆弱性は、jt-jiffle (Maven) のバージョン1.1.22より前のバージョンに存在します。
  • jai-ext のバージョン1.1.22より前のGeoServerプロジェクトが影響を受けます。GeoServer 2.17.2などの古いバージョンも影響を受けます。
  • JiffleはSLDレンダリング変換で使用でき、OGC関数としても利用可能なため、管理コンソールからのSLDファイルの編集や、細工されたOGCリクエスト(例:/geoserver/wmsエンドポイントへのリクエスト)を通じてリモートコード実行が可能です.

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

この脆弱性が悪用された場合、実行されたコマンドの出力を含む java.lang.ExceptionInInitializerError 例外が発生することがあります。これにより、任意のシェルコマンドを含むリモートコードが実行され、サーバーが乗っ取られる可能性があります。

4. 推奨対策

4.1 本対策

  • JAI-EXT をバージョン1.1.22以降にアップグレードしてください。バージョン1.2.22には、悪意のあるコードのスクリプトへの挿入を無効にするパッチが含まれています。
  • ベンダーが提供する修正または緩和策を適用してください。

4.2 暫定回避策(緩和策)

  • GeoServerのWARファイル内のWEB-INF/libディレクトリからjanino-<version>.jarを削除することで、Jiffleスクリプトのコンパイル機能を無効にすることができます。この手順は、GeoServerを停止し、JARファイルを削除し、GeoServerを再起動することで実施します。
  • GeoToolsを利用しているアプリケーションで、リモートからのJiffleスクリプト提供を許可している場合は、アップグレードするか、その機能を削除する必要があります。
  • コードインジェクションペイロードを防ぐために、WAF (Web Application Firewall) をブロッキングモードで利用し、エッジで攻撃をブロックすることを推奨します。

その他に解説すべき観点

  • 攻撃経路: ネットワーク経由。
  • 攻撃の複雑さ: 低。
  • 必要な権限: 不要(認証不要)。
  • ユーザーインタラクション: 不要。

参照したサイト

NVDサイト

NVDでCVEの詳細を見る

戻る