つみかさね

CVE-2026-49286

High(8.1)

CVE-2026-49286 — PhpWeasyPrint PHAR デシリアライゼーション RCE

公開日: 2026-06-21データソース: NVD, GitHub Advisory

影響を受けるソフトウェア

製品ベンダー影響バージョン
php-weasyprintpontedilana< 2.6.0

対応ガイド

high|推奨セキュリティ修正影響: 限定的

推奨アクション

  1. 1composer show pontedilana/php-weasyprint でバージョンを確認する
  2. 2composer update pontedilana/php-weasyprint で 2.6.0 以降へ更新する
  3. 3出力ファイル名に外部入力が渡されていないか確認する

影響対象

PhpWeasyPrint(pontedilana/php-weasyprint)を使用する PHP アプリケーション

補足

  • -KnpLabs/snappy の代替として使用している場合も同様の確認が必要です
CVEPHPPhpWeasyPrintPHARデシリアライゼーションRCE

概要

PHP PDF 生成ライブラリ PhpWeasyPrint(pontedilana/php-weasyprint)のバージョン 2.6.0 未満において、PHAR ストリームラッパーを利用したデシリアライゼーションによるリモートコード実行(RCE)が可能な脆弱性が確認されました。

本ライブラリは出力ファイル名に対して phar:// ストリームラッパーをブラックリスト方式でチェックしていますが、このチェックは大文字・小文字を区別します。PHP のストリームラッパーは大文字・小文字を区別しないため、PHAR://Phar:// などの変形で検証をバイパスできます。バイパスされたパスが file_exists() で評価される際、PHP 7(PHP 7.4+ をサポート)では細工された PHAR アーカイブのメタデータがデシリアライズされ、リモートコード実行につながります。

本脆弱性は CVE-2023-28115(KnpLabs/snappy の同種問題)のパッチバイパスです。

CVSSベクトル

指標
攻撃ベクトル(AV)ネットワーク (N)
攻撃複雑度(AC)高 (H)
必要権限(PR)不要 (N)
ユーザー操作(UI)不要 (N)
スコープ(S)変更なし (U)
機密性(C)高 (H)
完全性(I)高 (H)
可用性(A)高 (H)

影響を受けるソフトウェア

製品ベンダー影響バージョン
php-weasyprintpontedilana< 2.6.0

修正バージョンと回避策

修正バージョン: php-weasyprint 2.6.0

推奨対応:

  • php-weasyprint を 2.6.0 以降へ更新する
  • 出力ファイル名に外部入力を使用している場合は、入力値を厳密に検証する
  • PHP 8.0 以降への移行も脅威軽減の一手段となる(PHP 7 の phar:// デシリアライゼーション挙動に依存しているため)

関連リンク


データソース: NVD (NIST), GitHub Advisory Database
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。

Xでシェアはてブ
データソース: NVD (NIST), OSV (Google), GitHub Advisory Database, JVN iPedia (IPA/JPCERT/CC)
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。