• ひとことでJAI-EXT の Jiffle の処理で、外から送られた内容がプログラムとして実行される弱点です。
  • 深刻度10.0 緊急CVSS v3.1
  • まずやることjt-jiffle を 1.1.22 以降に更新する

何をすればいいかを詳しく読む

基本情報(データから表示)

CVE番号CVE-2022-24816
製品OSGeo JAI-EXT
深刻度(CVSS)10.0 緊急CVSS v3.1
NVD による評価
詳細(ベクター)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H
KEVへの追加日2024-06-26
米国政府機関の対応期限2024-07-17
ランサムウェアでの悪用不明(確認されていない)
弱点の種類(CWE)CWE-94(コードインジェクション)

何が起きた

画像処理の部品 JAI-EXT(jt-jiffle)に、コードインジェクションと呼ばれる弱点が見つかりました。Jiffle というスクリプトをネットワーク経由で受け付けるプログラムでは、スクリプトが Janino という仕組みで Java のプログラムに変換されて実行されるため、攻撃者が仕掛けたコードを動かされる(リモートコード実行)おそれがあります。ネットワーク経由で、ログインしていない攻撃者でも悪用でき、利用者の操作も必要ありません。この部品を使う GeoServer が特に影響を受け、実際の悪用も確認されています。

攻撃の流れ

データをもとに、AIを使用して作成した図です。実際の攻撃は、これと異なる場合があります。

攻撃の流れ: 1. 攻撃者が細工した Jiffle スクリプトを送る → 2. スクリプトが Java のプログラムに変換される → 3. 仕掛けたコードがサーバーで実行される1攻撃者が細工した Jiffle スクリプトを送る2スクリプトが Java のプログラムに変換される3仕掛けたコードがサーバーで実行される攻撃の流れ: 1. 攻撃者が細工した Jiffle スクリプトを送る → 2. スクリプトが Java のプログラムに変換される → 3. 仕掛けたコードがサーバーで実行される1攻撃者が細工した Jiffle スクリプトを送る2スクリプトが Java のプログラムに変換される3仕掛けたコードがサーバーで実行される攻撃の流れ: 1. 攻撃者が細工した Jiffle スクリプトを送る → 2. スクリプトが Java のプログラムに変換される → 3. 仕掛けたコードがサーバーで実行される1攻撃者が細工した Jiffle スクリプトを送る2スクリプトが Java のプログラムに変換される3仕掛けたコードがサーバーで実行される

誰が影響を受ける

JAI-EXT の jt-jiffle を使い、Jiffle スクリプトをネットワーク経由で受け付けるプログラムが対象で、特に GeoServer が影響を受けます。GitHub の勧告では、影響を受けるのは 1.1.22 より前、修正版は 1.1.22 となっています。一方で、同じ勧告と NVD の説明の本文には「修正はバージョン 1.2.22 に入る」と書かれていて、番号が食い違っています。

何をすればいい

GitHub の勧告で修正版とされている 1.1.22 以降に更新されているか確認してください(本文では 1.2.22 とも書かれているため、使っている製品の公式の案内もあわせて確認してください)。すぐに更新できない場合は、janino-x.y.z.jar をクラスパスから外して、Jiffle スクリプトを変換できないようにする回避策があります。GeoServer を使っている場合は、GeoServer の公式の案内にも従ってください。

やることチェックリスト

  • jt-jiffle を 1.1.22 以降に更新する
  • 更新できなければ janino-x.y.z.jar を外す
  • GeoServer の更新の有無を調べる

用語メモ

コードインジェクション 用語集で見る
入力に攻撃者のプログラムを混ぜ込み、それを実行させる攻撃です。
リモートコード実行 用語集で見る
離れた場所から、相手のコンピューターで好きなプログラムを動かすことです。
クラスパス
Java のプログラムが、使う部品(ファイル)を探しに行く場所の一覧です。

次に読む

公式情報と元データ

公式情報

元データ(英語・CISA KEV より)を開く

OSGeo GeoServer JAI-EXT Code Injection Vulnerability

概要

OSGeo GeoServer JAI-EXT contains a code injection vulnerability that, when programs use jt-jiffle and allow Jiffle script to be provided via network request, could allow remote code execution.

推奨対応

Apply mitigations per vendor instructions or discontinue use of the product if mitigations are unavailable.

この元データの出どころ: CISA KEV カタログで見る