最近の脆弱性 › CVE-2020-17530

Apache Struts のリモートコード実行の脆弱性(CVE-2020-17530)

この解説はAIを使用して作成しています。誤りを含む可能性があり、内容は保証できません。必ず公式情報をご確認ください。

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

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サーバー上でプログラムが動く

誰が影響を受ける

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

公式情報