世界的な警戒を引き起こしているPHPの2件の脆弱性は、AI企業による外部レビューを受けた8月に本格的な注目を集めました。PHP Foundationが水曜日、長文の声明で明らかにしました。
同財団によると、うち1件のバグ(CVE-2026-109618)の経緯は2024年にさかのぼります。PHPが数年ぶりに外部のセキュリティ監査を受けた際に見つかったものの、当局者は対応を取りませんでした。
この問題をめぐっては、PHP内部でも対処法について技術者の間で議論が紛糾しました。懸念として挙がったのは、「後方互換性の破壊、新たなサービス拒否(DoS)の可能性、そして調整が不可能に思える多数のサードパーティ製拡張機能の変更が必要になること」などです。
非営利団体であるPHP Foundationは、次のように説明しています。「合意に基づいて運営されるPHPのセキュリティチームは、これらの選択肢から一つを選べず、誤った選択で出荷した場合の影響を恐れていました」
「リモートコード実行(RCE)に至る経路が知られていなかったことに加え、エンジンに関する深い知識を持つコア開発者が少人数で、多くの責務を抱えていたことも重なりました。この意思決定プロセスのせいで、修正作業は数カ月にわたり、停止と再開を繰り返しました」
CVE-2026-109618と関連するバグ(CVE-2026-109619)の影響で、水曜日には企業や政府機関によって数百のウェブサイトがオフライン化されました。インターネット上の全ウェブサイトの70%以上がPHPを使用しているとの推計もあります。インターネットインフラ企業のCloudflareは、悪用の試みを確認したと報告しています。
PHP Foundationは、両脆弱性が「ほぼすべてのリクエストが通過するPHPの部分に存在する」としています。
「PHPの中核に位置していることが、両脆弱性を深刻なものにしました。同時に、互換性の維持、性能の確保、膨大なサードパーティ製拡張機能のエコシステムへの変更強制の回避を図りながら修正することを、極めて難しくもしました」と説明しています。
脆弱性の影響範囲の広さは、サイバーセキュリティの防御担当者や各国政府に警戒を広げています。VirusTotalの分析では、PHPを稼働させていると特定されたIPアドレスは510万件に上りました。このうち少なくとも75万8,000件がサポート終了(EOL)バージョンのPHPを稼働させていると判明し、8万5,000件が、水曜日朝に開発者が緊急パッチを公開する前の最新リリースを稼働させていました。
これらの数字はインターネットに公開されたPHPの規模を示すもので、脆弱性が確認されたシステムの数ではありません。パッチの対象はPHP 8.2以降のバージョンのみです。それより古いバージョンは、PHPプロジェクトからの更新を受けられません。
Cisco Talosは公表した推計で、脆弱なPHPシステムの約50%がパッチを受け取れない可能性があると示しています。
AIがバグを浮き彫りに
2024年に対応を見送った後、PHP Foundationは強力なAIコードレビューツールの登場により、再びこの問題に向き合うことになりました。今年に入り、AnthropicとOpenAIのサービスがPHPのプラットフォームのスキャンに使われ、最終的にサイバーセキュリティ企業Califの研究者が8月11日にこれらのバグを報告しました。
Califはソーシャルメディア上で、脆弱性を最初に発見してエクスプロイトを開発したのは別の研究者だとして、その功績をたたえています。
OpenAI、セキュリティ企業のWiz、Trail of Bitsも、PHPの監査中に同じ脆弱性を発見しました。
財団は、これらの報告によって「…問題の全容が明らかになり、8月11日以降、セキュリティを担当するPHP Foundationのチーム全員にとって、修正が最優先事項になりました」と説明しています。
PHP Foundationによると、協調的開示のプロセスは、2日前にバグの噂がソーシャルメディアで広がり始めるまで順調に進んでいました。同財団は開示を1日前倒ししましたが、修正のパッケージ化がまだ終わっておらず、すぐには公開できなかったと主張しています。
財団は、Califが「誤って動画を公開した」とも指摘しました。この動画では、複数の標的に対する概念実証(PoC)の動作が示され、脆弱性に関する追加の詳細も明らかになりました。その動画は削除された後も出回り、エクスプロイトのPoC開発を「加速させました」。
PHP Foundationは、火曜日の夜を通じてオンラインで出回り始めた複数のPoCを監視しましたが、機能するエクスプロイトは確認しなかったということです。
同財団のブログによると、サイバーセキュリティ企業Chainguardは水曜日の早朝、一方的にエンバーゴを破り、修正を含むイメージを公開しました。Chainguardは、この指摘に関するコメント要請に応じていません。
財団は次のように述べています。「他のディストリビューターと同様、Chainguardも事前にパッチを受け取っていました。脆弱性が開示された瞬間に、ユーザーが更新できるようにするためです」
「これにより、他のすべてのPHPユーザーがリリースを待っている間に、攻撃者は修正をバイナリ形式で調べられるようになりました。協調的な開示に向けて多くの関係者が数週間にわたって積み重ねてきた作業を、無視した行為です」
PHP Foundationは、同様の事態を二度と起こさせないための内部体制の変更を数十項目にわたって列挙し、「厳しいトレードオフで修正が滞る深刻な脆弱性は、今後ははるかに早くPHP Foundationの指導部に届くようになる」と主張しました。
翻訳元: https://therecord.media/php-foundation-statement-critical-vulnerabilities