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

JVNDB

概要

PhpSpreadsheetはスプレッドシートファイルの読み書きを行う純粋なPHPライブラリです。バージョン1.30.4、2.1.16、2.4.5、3.10.5、および5.7.0より前のSpreadsheetML XMLリーダー(ReaderXml)は、ss:Indexの行属性を最大許容行数(AddressRange::MAX_ROW = 1,048,576)に対して検証しません。攻撃者はRow要素にss:Index=”999999999″を設定したSpreadsheetML XMLファイルを作成できます。これにより、内部のcachedHighestRowが約10億に膨れ上がります。以降、明示的な終了行が設定されていない場合にgetRowIterator()を呼び出すと、約10億行を反復処理しようとし、CPU資源の枯渇およびサービス拒否を引き起こします。この脆弱性はバージョン1.30.4、2.1.16、2.4.5、3.10.5、および5.7.0で修正されています。

技術情報

  • 公開日: 2026-05-15T11:01:08+09:00
  • 更新日: 2026-05-15T11:01:08+09:00

参考リンク

JVNDB の詳細はこちら

対処方法

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

免責

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