Asayomu Tech
注目★★★★GitHub Advisory

PHPSpreadsheet、CVE-2026-34084パッチをバイパスするRCE脆弱性CVE-2026-45034

30秒で把握

  • 1CVE-2026-45034: PHPSpreadsheetのphar://三重スラッシュでRCEパッチ回避
  • 2PHP 7.xはis_file到達だけでRCE・PHP 8.xはgetMetadata呼び出し時にRCE
  • 3CVE-2026-34084修正のprohibitWrappersが無効化・全最新6バージョンが対象

要約

PHPSpreadsheetにおいて、CVE-2026-34084の修正パッチを回避できる新たな脆弱性CVE-2026-45034が公開された。`File::prohibitWrappers`ヘルパーはスキーム後にスラッシュが3つ以上ある`phar:///path/file.phar`形式の入力で`parse_url`がfalseを返すため、ラッパー検査をスキップしてpharストリームを通過させてしまう。PHP 7.xでは`is_file`経由でpharメタデータが自動デシリアライズされ、`__wakeup`・`__destruct`が呼び出されてRCEが成立する。PHP 8.xでは自動デシリアライズが廃止されたためファイル読み取りプリミティブに留まるが、下流コードが`Phar::getMetadata`を呼び出す場合はRCEが再浮上する。

あなたへの影響

PHPSpreadsheetを本番環境で利用しているチームは、vendorディレクトリの`File.php`が脆弱バージョンであるか即日確認し、修正済みバージョンへのアップグレードと`IOFactory::load`に渡すパスの入力検証を今週中に実施すること。

推奨:PHP 7.x環境では攻撃者制御のpharファイルを読ませるだけでRCEに至り得るため、優先度は高い。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。