• ひとことでApache Struts で、入力の扱い方しだいで遠くからプログラムを動かされる弱点
  • 深刻度9.8 緊急CVSS v3.1
  • まずやることStruts を 2.5.26 以降に更新する

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

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

CVE番号CVE-2020-17530
製品Apache Struts
深刻度(CVSS)9.8 緊急CVSS v3.1
NVD による評価
詳細(ベクター)CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
KEVへの追加日2021-11-03
米国政府機関の対応期限2022-05-03
ランサムウェアでの悪用不明(確認されていない)
弱点の種類(CWE)CWE-917(式言語インジェクション)

何が起きた

Java でウェブアプリを作るための部品 Apache Struts で、タグの属性に強制的な OGNL 評価を使い、利用者が送った値をそのまま評価している場合に、リモートコード実行のおそれがある弱点が見つかりました。Apache の勧告によると、一部のタグの属性で式が二重に評価されてしまうことが原因です。NVD の評価では、ネットワーク経由で、ログインなしに、利用者の操作なしで悪用できるとされています。CISA は、実際に悪用が確認されたとして KEV に載せています。

攻撃の流れ

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

攻撃の流れ: 1. 攻撃者が細工した値をアプリに送る → 2. タグの属性で値が OGNL として評価される → 3. 式が二重に評価されてしまう → 4. サーバー上でプログラムが動く1攻撃者が細工した値をアプリに送る2タグの属性で値が OGNL として評価される3式が二重に評価されてしまう4サーバー上でプログラムが動く攻撃の流れ: 1. 攻撃者が細工した値をアプリに送る → 2. タグの属性で値が OGNL として評価される → 3. 式が二重に評価されてしまう → 4. サーバー上でプログラムが動く1攻撃者が細工した値をアプリに送る2タグの属性で値が OGNL として評価される3式が二重に評価されてしまう4サーバー上でプログラムが動く攻撃の流れ: 1. 攻撃者が細工した値をアプリに送る → 2. タグの属性で値が OGNL として評価される → 3. 式が二重に評価されてしまう → 4. サーバー上でプログラムが動く1攻撃者が細工した値をアプリに送る2タグの属性で値が OGNL として評価される3式が二重に評価されてしまう4サーバー上でプログラムが動く

誰が影響を受ける

Apache の勧告によると、Struts 2.0.0 から Struts 2.5.25 までが影響を受けます。これらのバージョンで作ったウェブアプリを動かしている組織が対象で、特にタグの属性で利用者の入力に強制的な OGNL 評価を使っているアプリが危険です。

何をすればいい

Apache の勧告に従い、Struts 2.5.26 以降に更新してください。あわせて、確かめていない利用者の入力に対して、タグの属性で強制的な OGNL 評価を使わないようにします。Apache は、セキュリティガイドの推奨に従うよう案内しています。最新の対応は公式の案内を確認してください。

やることチェックリスト

  • Struts を 2.5.26 以降に更新する
  • 利用者の入力に強制的な OGNL 評価を使わないようにする
  • Apache のセキュリティガイドに沿って作りを見直す

用語メモ

OGNL
Java のプログラムの中で、文字列で書いた式を読み取って値を取り出したり操作したりするための仕組みです。Struts の内部で使われています。
リモートコード実行 用語集で見る
攻撃者が離れた場所から、狙ったコンピューターの上で好きなプログラムを動かせてしまうことです。
KEV 用語集で見る
米国の CISA がまとめている、実際に悪用が確認された脆弱性の一覧です。

次に読む

公式情報と元データ

公式情報

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

Apache Struts Remote Code Execution Vulnerability

概要

Forced Object-Graph Navigation Language (OGNL) evaluation in Apache Struts, when evaluated on raw user input in tag attributes, can lead to remote code execution.

推奨対応

Apply updates per vendor instructions.

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