最近の脆弱性 › CVE-2023-7101

Spreadsheet::ParseExcel Spreadsheet::ParseExcel のリモートコード実行の脆弱性(CVE-2023-7101)

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

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

CVE番号CVE-2023-7101
製品Spreadsheet::ParseExcel Spreadsheet::ParseExcel
深刻度(CVSS)7.8 重要CVSS v3.1
NVD による評価
詳細(ベクター)CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
KEVへの追加日2024-01-02
米国政府機関の対応期限2024-01-23
ランサムウェアでの悪用不明(確認されていない)
弱点の種類(CWE)CWE-95

何が起きた

Excel ファイルを読み込むための Perl のモジュール Spreadsheet::ParseExcel で、ファイルの中の数値の書式の文字列を、確かめないまま eval という仕組みで実行してしまう弱点が見つかりました。そのため、細工された Excel ファイルを読み込むと、攻撃者が選んだ任意のコードが実行されるおそれがあります。実際に悪用が確認されています。悪用には、細工されたファイルを利用者やシステムが読み込む必要があるとされています。

攻撃の流れ

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

攻撃の流れ: 1. 攻撃者が細工したExcelファイルを作る → 2. システムがそのファイルを読み込む → 3. 数値の書式の文字列がevalで実行される → 4. 攻撃者のコードが実行される1攻撃者が細工したExcelファイルを作る2システムがそのファイルを読み込む3数値の書式の文字列がevalで実行される4攻撃者のコードが実行される攻撃の流れ: 1. 攻撃者が細工したExcelファイルを作る → 2. システムがそのファイルを読み込む → 3. 数値の書式の文字列がevalで実行される → 4. 攻撃者のコードが実行される1攻撃者が細工したExcelファイルを作る2システムがそのファイルを読み込む3数値の書式の文字列がevalで実行される4攻撃者のコードが実行される

誰が影響を受ける

Spreadsheet::ParseExcel 0.65 を使っているプログラムやシステムが影響を受けます。CVE の記録に追加された CISA の情報では、0.41 から 0.65 までが影響を受けるとされています。Mandiant の勧告では、このモジュールを使う製品(Spreadsheet::ParseXLSX など)も影響を受けるとされています。

何をすればいい

CVE の記録にある対策に従い、Spreadsheet::ParseExcel を 0.66 以降に更新されているか確認します。修正が済むまでは、知らない相手からの Excel ファイルを読み込ませないようにします。公式の案内を確認し、自分のシステムでこのモジュールが使われている場所を確かめてください。

やることチェックリスト

用語メモ

Perl
ウェブのシステムや文字の処理などでよく使われるプログラミング言語です。
モジュール
プログラムに組み込んで使う、特定の機能をまとめた部品のことです。
eval
文字列として渡された内容を、プログラムとして実行する仕組みです。中身を確かめずに使うと危険です。

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

Spreadsheet::ParseExcel Remote Code Execution Vulnerability

概要

Spreadsheet::ParseExcel contains a remote code execution vulnerability due to passing unvalidated input from a file into a string-type “eval”. Specifically, the issue stems from the evaluation of Number format strings within the Excel parsing logic.

推奨対応

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

公式情報