PHP重大脆弱性「php2shell」の兆候は2024年から把握 PHP Foundationが修正遅延と公開前の混乱を説明

セキュリティニュース

投稿日時: 更新日時:

PHP重大脆弱性「php2shell」の兆候は2024年から把握 PHP Foundationが修正遅延と公開前の混乱を説明

PHP Foundationは2026年10月21日、PHPの重大脆弱性「php2shell」の発見・修正・公開に至る経緯を公式ブログで公表しました。2件の脆弱性のうち、CVE-2026-109618につながるメモリ処理の問題は2024年から兆候が把握されていた一方、具体的な遠隔コード実行(RCE)の成立経路が明らかになったのは2026年8月でした。同団体は、修正方法の選定や意思決定に時間がかかったことを、セキュリティ体制と人員の「構造的な失敗」と認めています。

また、当初10月22日に予定していた修正版の公開が情報の先行拡散によって21日に前倒しされたことや、調整した公開時刻より前に一部の修正済みコンテナイメージが配布されたことも明らかにしました。今回の問題はPHPの脆弱性そのものに加え、オープンソースの基幹ソフトウェアを長期間保守する体制や、関係事業者による協調開示の難しさを示しています。

PHP本体で修正された2件の技術的な影響、CVSS評価、WordPressなどの利用者が適用すべき更新は、公開済みのPHP重大脆弱性「php2shell」(CVE-2026-109618/CVE-2026-109619)の解説記事で整理しています。

PHP Foundationが明らかにした経緯のサマリー

  • 2024年の外部セキュリティ監査に関連する修正作業で、CVE-2026-109618の根本原因となるメモリ不足(OOM)処理の問題の兆候を把握していました。
  • 当時はRCEを成立させる具体的な経路が確認されておらず、修正による互換性・性能・拡張機能への影響も判断の障害となりました。
  • 2026年8月11日、Califの研究者とOpenAIが、同じ根本原因から認証不要RCEが成立する経路をそれぞれ報告しました。
  • 8月24日にWiz、9月18日にOpenAIが追加の攻撃経路を報告し、修正が最優先事項となりました。
  • 10月20日(UTC)にCVE番号と誤った深刻度・公開予定が拡散し、PHP側は公式告知と修正版の公開日を前倒ししました。
  • PHP Foundationは、Califによる実証動画の誤公開や、Chainguardによる調整時刻前の修正済みイメージ配布を説明しました。
  • PHP Foundationは、意思決定方式の見直しやセキュリティ人材の拡充に取り組んでいるとしています。
項目 内容
当事者発表 PHP Foundation、2026年10月21日
対象の重大脆弱性 CVE-2026-109618/CVE-2026-109619(通称「php2shell」)
2024年に把握していた問題 CVE-2026-109618の根本原因となるOOM処理の兆候。未認証RCEの具体的経路は未特定
RCE経路の報告 2026年8月11日、CalifとOpenAIによる独立した報告
修正版の公開 2026年10月21日、PHP 8.5.12/8.4.27/8.3.36/8.2.35
公式の深刻度 両CVEともCVSS v4.0 9.2(Critical)
公開前の混乱 CVE情報の先行拡散、PoC動画の誤公開、修正済みイメージの早期配布

2024年の外部監査に関連する修正作業で問題の兆候を発見

PHP Foundationによると、2024年にPHPは久しぶりとなる外部セキュリティ監査を受けました。ドイツのSovereign Tech Agencyが資金を提供し、OSTIFを通じてQuarkslabが監査を実施しました。PHP Foundationの契約下にあるPHPコア開発者が、Quarkslabから報告された別の問題を修正する過程で、今回のCVE-2026-109618につながるOOM処理の異常に気づいたといいます。

この時点で潜在的な悪用可能性は議論されましたが、どのようなリクエストで攻撃が成立するかを示す具体的な経路は確認されていませんでした。したがって、2024年に認証不要RCEが実証されていたのに2年間放置した、という解釈は正確ではありません。また、この経緯はCVE-2026-109618に関するもので、もう1件のCVE-2026-109619も2024年に発見されていたとする説明ではありません。

修正を妨げた互換性問題と意思決定の遅れ

問題を解消するため、PHPセキュリティチームは複数の修正案を検討しました。しかし、後方互換性が失われる、別のサービス停止リスクが生じる、第三者製のPHP拡張機能を広範囲に変更しなければならないといった難点がありました。

当時のセキュリティチームでは合意形成を重視する意思決定が行われており、修正案をめぐる選択が進まなかったと説明しています。加えて、PHPエンジン内部を十分に理解し、複雑な修正を担当できる開発者が少数だったことも遅延の要因となりました。同団体はこの遅延を単なる技術的難題ではなく、意思決定の仕組みとリソース不足が引き起こした組織的な問題と認めています。

2026年8月、複数の研究機関が認証不要RCEの成立経路を報告

2026年7月30日、Califが「Patch the Planet」プログラムの一環としてPHPの監査を開始しました。8月11日、同社の研究者Ryan Aが、2024年に兆候が把握されていたOOM処理の問題と同じ根本原因から、認証不要の遠隔コード実行を実現できると報告しました。OpenAIも同日、独立して同じ根本原因を報告しています。

PHP Foundationによると、その後8月24日にWiz、9月18日にOpenAIから追加の攻撃経路が報告されました。これにより問題の実際の危険性が明確となり、8月11日以降はセキュリティ担当チームの最優先事項として修正に取り組んだとしています。

AIによる脆弱性調査も活用されましたが、同団体は報告の妥当性判断、修正方針の決定、パッチ作成は人が担っていると説明しています。2026年にはAnthropicのClaude Mythosによるコード解析やOpenAIのDaybreak Redによる報告・検証支援なども導入したとしています。AIが脆弱性発見を後押しした一方、互換性を保ちながら修正を実装するには、PHPエンジンに精通した技術者が必要でした。

10月20日(UTC)の情報流出で公開日を1日前倒し

PHP Foundationによると、10月20日15時ごろ(UTC、日本時間21日0時ごろ)に、CVE-2026-109618とCVE-2026-109619の番号がオンライン上に出回りました。この時点で拡散した情報には、誤った公開時刻と「CVSS 10.0」という誤ったスコアが含まれており、技術的な脆弱性詳細は流出していなかったとしています。実際に公表された両CVEの評価はCVSS v4.0 9.2です。

PHP側は公式の事前注意喚起を前倒しし、修正版の公開日を当初の10月22日14時UTC(日本時間22日23時)から10月21日14時UTC(日本時間21日23時)へ変更しました。PHP Foundationは、修正パッケージを準備中のLinuxディストリビューションなどがあったため、即時公開すれば利用者が容易に更新できない状態になると判断したと説明しています。公開前段階で出されたPHPの重大脆弱性2件に関する緊急注意喚起でも、修正版公開に備えた準備が呼びかけられていました。

さらにPHP Foundationは、事前告知の後にCalifがPoC(概念実証コード)の動作を示す動画を誤って公開し、削除後も複製が流通したとしています。この動画により、限定的ながら新たな技術情報が拡散し、外部でPoCの開発が加速したと説明しています。

Chainguardの修正済みイメージが調整時刻より前に公開

PHP Foundationは、10月21日07時41分UTC(日本時間16時41分)、Chainguardが協調開示の予定より6時間以上早く、修正済みPHPを含むビルド済みイメージを公開したと主張しています。事前に修正版を受け取った配布事業者は、公開時刻に利用者へ更新を届けることを想定されていました。同団体は、予定前に修正済みバイナリが公開されると、第三者が差分を解析して問題箇所を推測し得る点を懸念しています。

一方、Chainguardは自社の公式サポート文書で、今回の2件に対応する修正済みイメージを提供したと公表しています。この文書自体は、PHP Foundationによる協調開示違反の評価を認めたことを意味しません。公開時刻をめぐる批判はPHP Foundationの説明として位置付ける必要があります。

PHPセキュリティチームは、公式公開時点では実際に機能する攻撃コードを確認できなかったと説明しています。その後、他のセキュリティ企業は悪用を試みる通信を観測したと報告しており、「チームが公開時点で確認できなかったこと」と「攻撃試行が存在したこと」は両立し得ます。

PHP Foundationはセキュリティ体制の見直しを表明

PHP Foundationは2026年5月にEcosystem Security Teamを新設し、セキュリティ報告の仕分け、関係者との調整、PHP本体の堅牢化に取り組んでいると説明しています。7月にAlexandre Daubois、9月にDaniel Scherzerが加わり、問題の修正と調査を支える人員を増強しました。また、合議制によって判断が滞る問題に対し、多数決や妥協案を採り入れ、PHP Foundationのリーダーシップに課題を早期に上げる方向へ手続きを見直しています。

PHP Foundationは、世界中のサービスで利用されるPHPのセキュリティを少数の開発者とボランティアだけに依存している状況にも言及し、ホスティング事業者、ソフトウェアベンダー、政府機関などに継続的な資金・人材支援を呼びかけました。

利用企業への影響と確認事項

今回公表された経緯は、脆弱性の発見から修正版の一般提供までに時間がかかる場合があることを示しています。企業のCSIRTや情報システム部門は、PHPを含むランタイムの利用場所と更新責任者を特定し、メンテナンス通知と実際の適用状態を照合する必要があります。脆弱性の情報が拡散してから修正版を配布するまでに時間差が生じた場合、WAFなどの一時的な防御や公開範囲の制限も検討対象になります。

国内ではPHP脆弱性への予防措置として、コドモンが全サービスを緊急停止した事例もあります。同社は停止時点で不正アクセスや情報漏えいを確認していないと説明しており、予防的な停止と被害の発生は分けて扱う必要があります。更新作業ではシステムの停止判断だけでなく、利用部門・顧客への連絡や代替運用の手順も確認対象になります

出典