PhpSpreadsheet ライブラリの脆弱性 CVE-2025-54370:悪意の image タグを介した SSRF の可能性

PhpSpreadsheet Library Vulnerability Enables Attackers to Feed Malicious HTML Input

2025/08/29 CyberSecurityNews — 広く使用されている PhpSpreadsheet ライブラリで確認されたのは、深刻なサーバサイド・リクエスト・フォージェリ (SSRF) の脆弱性 CVE-2025-54370 (CVSS v4.0:8.7) の存在である。この脆弱性は、phpoffice/phpspreadsheet パッケージの複数のバージョンに影響するため、内部ネットワーク・リソースを悪用する攻撃者に対して、サーバ・セキュリティの侵害を許す可能性が高まっている。

主なポイント
  • PhpSpreadsheet の “Worksheet\Drawing::setPath” に、HTML “image” タグを介した SSRF が存在する。
  • 影響を受けるバージョンは 1.30.0 未満/2.0.0~2.1.11/2.2.0~2.3.x/3.0.0~3.9.x/4.x < 5.0.0 となる。
  • ユーザーに対して強く推奨されるのは、速やかなアップデートと、入力検証の実施である。
深刻な SSRF 脆弱性

この脆弱性は、PhpOffice\PhpSpreadsheet\Worksheet\Drawing クラスの setPath メソッドに存在し、悪意の HTML 入力を処理する際に、不正なサーバサイド・リクエスト実行の可能性が生じる。

Positive Technologies のセキュリティ研究者 Aleksey Solovev が、このライブラリのバージョン 3.8.0 を解析する中で、脆弱性 CVE-2025-54370 を発見した。”src” 属性で内部ネットワーク・リソースを指す、”image” タグを取り込んだ悪意の HTML ドキュメント作成する攻撃者は、この脆弱性の悪用を可能にする。

PhpSpreadsheet の HTML リーダーが、これらのドキュメントを処理すると、ライブラリは想定外の URL へ向けてリクエストを送信するため、機密性の高い内部サービスが漏洩する可能性が生じる。以下の PoC コードにより、攻撃ベクターも実証されている。

PhpSpreadsheet Library Vulnerability

悪意ある HTML ファイルには、以下のものが含まれている。

PhpSpreadsheet Library Vulnerability
リスク要因の詳細
Risk FactorsDetails
Affected Products– Versions < 1.30.0- 2.0.0–2.1.11- 2.2.0–2.3.x- 3.0.0–3.9.x- 4.x < 5.0.0
ImpactHigh confidentiality impact via SSRF
Exploit PrerequisitesUntrusted HTML input passed to the HTML reader
CVSS 4.0 Score8.7 (High)
影響を受けるバージョンとセキュリティ・パッチ

この脆弱性は、PhpSpreadsheet エコシステム全体の、複数のバージョンに影響を及ぼす:

  • 旧バージョン:1.30.0 未満
  • バージョン 2.x:2.0.0~2.1.11/2.2.0~2.3.x
  • バージョン 3.x:3.0.0~3.9.x
  • バージョン 4.x:5.0.0 未満

この脆弱性を修正したバージョンは、1.30.0/2.1.12/2.4.0/3.10.0/5.0.0 である。影響を受けるバージョンを使用している組織は、このアップデートを優先的に適用し、潜在的な悪用を防ぐ必要がある。

この脆弱性は、CWE-918 (SSRF:サーバサイド・リクエスト・フォージェリ) に分類される。また、攻撃ベクターは (AV:N/AC:L/PR:N/UI:N) であり、認証やユーザー操作を必要とせず、リモートからの悪用が可能である。したがって、ネットワーク経由でアクセス可能なアプリケーションが、ユーザー提供の HTML コンテンツを処理する際に、この脆弱性が悪用される可能性がある。

その他のセキュリティ上の懸念事項として、脆弱なコードの file_exists メソッドを介して、phar デシリアライゼーション攻撃が発生する可能性がある。同一コンポーネント内に、複数の攻撃対象領域が存在する。

ユーザーに対して強く推奨されるのは、該当バージョンの PhpSpreadsheet を直ちにアップデートすることである。追加の保護対策として、ユーザー組織に対して推奨されるのは、入力検証やネットワーク・セグメンテーションの導入となる。