PHPOfficeのPhpSpreadsheetにおける制限またはスロットリング無しのリソースの割り当てに関する脆弱性

JVNDB

概要

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-05-18T12:15:40+09:00
  • 更新日: 2026-05-18T12:15:40+09:00

参考リンク

JVNDB の詳細はこちら

対処方法

該当ソフトウェアの最新版への更新、または開発元が提供する緩和策の適用を推奨します。運用環境に応じて事前検証の上で実施してください。

免責

本記事は公開情報をもとに自動集約された速報です。正確性・完全性は保証できません。必ず一次情報(上記リンク等)をご確認ください。