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 コードにより、攻撃ベクターも実証されている。
悪意ある HTML ファイルには、以下のものが含まれている。
リスク要因の詳細
| Risk Factors | Details |
| 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 |
| Impact | High confidentiality impact via SSRF |
| Exploit Prerequisites | Untrusted HTML input passed to the HTML reader |
| CVSS 4.0 Score | 8.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 を直ちにアップデートすることである。追加の保護対策として、ユーザー組織に対して推奨されるのは、入力検証やネットワーク・セグメンテーションの導入となる。
PhpSpreadsheet ライブラリの SSRF 脆弱性 CVE-2025-54370 が FIX しました。原因は、Worksheet\Drawing::setPath メソッドでの入力検証不足です。それを悪用する攻撃者は、HTML の image タグを介して、ライブラリに内部ネットワークへの不正リクエストを送信させることができます。その結果として、内部の機密サービスやリソースが外部から不正に参照されてしまう可能性がある、この記事は指摘しています。ご利用のチームは、ご注意ください。よろしければ、PHP で検索も、ご参照ください。
You must be logged in to post a comment.