
3億回以上ダウンロードされているPHPライブラリPhpSpreadsheetで、リモートコード実行につながる可能性のある脆弱性CVE-2026-45034が公開された。この脆弱性は既存の修正を回避するもので、概念実証(PoC)コードも公開されている。 CVE-2026-45034は、以前修正されたCVE-2026-34084のパッチ回避にあたる問題である。原因はFile::prohibitWrappers関数にあり、本来はphar://やphp://などのストリームラッパーを拒否するためにparse_urlを利用してURLスキームを確認していた。 しかし記事によると、攻撃者が「phar:///path」のように3つ以上のスラッシュを含む文字列を使用すると、parse_urlはスキームを返さずfalseを返す。その結果、ラッパーの検査処理が実行されず、危険なパスが許可されるという。一方でPHP内部のストリーム処理はpharラッパーを正常に認識するため、対象ファイルが開かれてしまう。 影響はPHPのバージョンによって異なる。PHP 7系では、pharファイルへのアクセス時に自動デシリアライズが発生し、攻撃者が制御するコードの実行につながる可能性がある。PHP 8系では自動デシリアライズは行われないが、アプリケーションが後からPhar::getMetadataを呼び出す場合にはリモートコード実行へ発展する可能性があるとしている。 影響を受けるのは1.30.4までの1.x系バージョンで、修正版の1.30.5が公開されている。 https://securityonline.info/phpspreadsheet-rce-vulnerability-cve-2026-45034/
Post summary
A newly disclosed CVE-2026-45034 in PhpSpreadsheet permits remote code execution; a PoC is available and a patch (1.30.5) has been released.


