| タイトル | PHPOfficeのPhpSpreadsheetにおける制限またはスロットリング無しのリソースの割り当てに関する脆弱性 |
|---|---|
| 概要 | PhpSpreadsheetはスプレッドシートファイルの読み書きのための純粋なPHPライブラリです。バージョン1.30.4、2.1.16、2.4.5、3.10.5、および5.7.0以前では、XLSXリーダーのColumnAndRowAttributes::readRowAttributes()メソッドがXML属性から行番号を読み取る際に、スプレッドシートの最大行制限(AddressRange::MAX_ROW = 1,048,576)に対する検証を行いません。攻撃者は最小限のXLSXファイル(約1.6KB)を作成し、row r="999999999"/要素を含めることで、cachedHighestRowを999,999,999に膨らませる可能性があります。その結果、その後の行の反復処理が約10億回のループを試みてCPUリソースを枯渇させる可能性があります。この脆弱性はバージョン1.30.4、2.1.16、2.4.5、3.10.5、および5.7.0で修正されています。 |
| 想定される影響 | 当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。 また、当該ソフトウェアが扱う情報について、書き換えは発生しません。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| 対策 | 正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。 |
| 公表日 | 2026年5月12日0:00 |
| 登録日 | 2026年5月18日12:15 |
| 最終更新日 | 2026年5月18日12:15 |
| CVSS3.0 : 重要 | |
| スコア | 7.5 |
|---|---|
| ベクター | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| PHPOffice |
| PhpSpreadsheet 1.30.4 未満 |
| PhpSpreadsheet 2.0.0 以上 2.1.16 未満 |
| PhpSpreadsheet 2.2.0 以上 2.4.5 未満 |
| PhpSpreadsheet 3.3.0 以上 3.10.5 未満 |
| PhpSpreadsheet 4.0.0 以上 5.7.0 未満 |
| No | 変更内容 | 変更日 |
|---|---|---|
| 1 | [2026年05月18日] 掲載 |
2026年5月18日12:15 |
| 概要 | PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files. Prior to 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0, the XLSX reader's ColumnAndRowAttributes::readRowAttributes() method reads row numbers from XML attributes without validating them against the spreadsheet maximum row limit (AddressRange::MAX_ROW = 1,048,576). An attacker can craft a minimal XLSX file (~1.6KB) containing a <row r="999999999"/> element that inflates cachedHighestRow to 999,999,999, causing any subsequent row iteration to attempt ~1 billion loop cycles and exhaust CPU resources. This vulnerability is fixed in 1.30.4, 2.1.16, 2.4.5, 3.10.5, and 5.7.0. |
|---|---|
| 公表日 | 2026年5月13日7:16 |
| 登録日 | 2026年5月15日4:18 |
| 最終更新日 | 2026年5月14日23:50 |
| 構成1 | 以上 | 以下 | より上 | 未満 | |
| cpe:2.3:a:phpoffice:phpspreadsheet:*:*:*:*:*:*:*:* | 1.30.4 | ||||
| cpe:2.3:a:phpoffice:phpspreadsheet:*:*:*:*:*:*:*:* | 2.0.0 | 2.1.16 | |||
| cpe:2.3:a:phpoffice:phpspreadsheet:*:*:*:*:*:*:*:* | 2.2.0 | 2.4.5 | |||
| cpe:2.3:a:phpoffice:phpspreadsheet:*:*:*:*:*:*:*:* | 3.3.0 | 3.10.5 | |||
| cpe:2.3:a:phpoffice:phpspreadsheet:*:*:*:*:*:*:*:* | 4.0.0 | 5.7.0 | |||