PHP2Shell: 2つの重大なPHPの欠陥、リークした公開禁止措置、そしてエクスプロイトについて実際に知られていること
PHPは、PHP2Shellと呼ばれる2つの重大なリモートコード実行の欠陥、CVE-2026-109618とCVE-2026-109619に対する緊急修正を出荷しました。
PHPは、PHP2Shellと呼ばれる2つの重大なリモートコード実行の欠陥、CVE-2026-109618とCVE-2026-109619に対する緊急修正を出荷しました。リリースは2026年10月21日に行われました。このエピソードでは、2つのメモリバグを分かりやすく説明し、2024年の監査からの手がかりがなぜ修正を待っていたのか、禁輸措置がどのように漏洩したのか、そしてどの情報源がエクスプロイトについて何を言っているのかを説明します。また、GitLabの同日クリティカルパッチリリースと、ニューメキシコ州でのMetaに対する250億ドルの罰金命令についても取り上げています。
この動画の要点
- 両方の欠陥は、PHPチームによってCVSS v4.0で9.2と評価されています。修正されたリリースはPHP 8.2.35、8.3.36、8.4.27、8.5.12です。PHP 7.4、8.0、8.1はソースパッチのみを受け取りました。PHPは、更新が唯一の完全な緩和策であると述べています。
- 最初の欠陥は、PHPが誤ったタイミングでメモリ不足になったときに、リクエストが半完成のままになることに起因します。2番目の欠陥は、以前のリクエストのメモリへのポインタが残されており、同じワーカー内の後のリクエストがそれを使用できることに起因します。mod_phpを備えたApacheでは、最初のパスはアプリケーションコードの前に実行されます。
- PHPコア開発者は、2024年の監査中にメモリ問題の最初の兆候を発見しました。PHP財団は、競合する修正にはトレードオフがあり、コンセンサスベースのセキュリティチームは選択に苦慮したと述べており、これを構造的な失敗と呼んでいます。
- 財団は、CVE IDが10月20日にリークし、Califが誤って概念実証ビデオを公開し、Chainguardがリリースより6時間以上前に修正を含むビルド済みイメージを公開したと述べています。ChainguardのCEOは、すでに攻撃を受けている人がいること、そして彼が独自にバグを発見したと述べています。
- 情報源はエクスプロイトについて意見が異なります。Amazonは10月17日に試行を記録し、その後PHP2Shellが広くエクスプロイトされたと述べました。watchTowrは野外でのエクスプロイトを報告しました。CISAは公開時点ではエクスプロイトを観測しておらず、PHPチームはリリース時に機能するエクスプロイトを発見していませんでした。多くの公開されている概念実証スクリプトは動作しないと報告されています。
- 他のソフトウェア内にコピーされているPHPを含む、PHPが実行されているすべての場所を確認し、更新してワーカーを再起動し、10月17日までのログをレビューしてください。
質疑応答
2つのPHP2Shellの脆弱性とは何ですか?
PHP2Shellは、CVE-2026-109618とCVE-2026-109619という2つの重大なPHPの欠陥を指し、両方ともPHPチームによって9.2と評価されています。最初の欠陥は、PHPが誤ったタイミングでメモリ不足になったときに、リクエストが半完成のままになることに起因し、その後クリーンアップがそれを信頼します。2番目の欠陥は、以前のリクエストのメモリへのポインタが残されており、同じワーカー内の後のリクエストがそれを使用できることに起因します。どちらもログインなしでコード実行につながる可能性があります。
PHP2Shellの修正があるPHPバージョンはどれですか?サポートされていないバージョンについてはどうですか?
PHPプロジェクトは10月21日に8.2.35、8.3.36、8.4.27、8.5.12で修正をリリースしました。7.4、8.0、8.1についてはソースパッチのみを公開し、BleepingComputerはディストリビューションと長期サポートベンダーがバックポートされた修正を提供する可能性があると報告しています。PHPは完全な回避策はないと述べており、更新するか、ベンダーにパッチが適用されたパッケージを要求することが唯一安全な選択肢です。
既知のPHPメモリバグが2026年10月まで修正されなかったのはなぜですか?
PHP財団は、コア開発者が2024年のセキュリティ監査中にメモリ問題の最初の兆候を発見したものの、エクスプロイトパスは知られておらず、すべての候補修正には互換性の破壊などのトレードオフがあったと述べています。セキュリティチームはコンセンサスで決定し、選択に苦慮しました。財団はこれを、意思決定プロセスとリソース不足による構造的な失敗と呼んでいます。
PHP2Shellは悪用されていますか?悪用はどれくらい簡単ですか?
情報源は意見が異なります。Amazonは10月17日に悪用試行を記録し、その後PHP2Shellが広く悪用されたと述べ、watchTowrは野外での悪用を報告しました。CISAは公開時点では悪用を観測しておらず、PHPチームはリリース時に機能するエクスプロイトを発見していませんでした。watchTowrによると、ほとんどの公開エクスプロイトスクリプトはクラッシュするか何も機能せず、VulnCheckは一部のセットアップでのみコード実行が機能することを発見しました。
The Daily DiffのPHP2Shellに関する評決は何でしたか?
The Daily Diffの評決はSHIP ITでした。今夜PHPのアップデートを出荷してください。なぜなら、新しいバージョンが唯一の完全な修正だからです。CISAは、他のソフトウェア内のコピーを含むPHPを実行しているすべてのシステムをインベントリし、パッチを適用し、更新できない場合はPHPシステムをオフラインにするよう述べています。Amazonは、最初の試行が見られた10月17日までログをレビューすることを推奨しています。
翻訳されたトランスクリプト
オリジナルの英語ナレーションから翻訳されています。利用可能なオーディオとキャプションはYouTubeによって管理されています。
誰が4日早くPHP2Shellを試したのか?
0:00 セキュリティの公開禁止措置は、パッチが出荷されるまでバグを秘密にしておくことを目的としています。 Amazonは、PHPの重大なバグに対する試行を4日早く記録しました。 このビデオでは、誰がそれを見つけたのか? 公開禁止措置はどのようにリークしたのか? そして、実際にはどれほど悪いのか? そして、リークの責任を負うとされた企業には、私が予想しなかった弁明があります。 それについては後で説明します。 10月22日木曜日、The Daily Diffです。
0:21 PHPは、Webページがあなたに届く直前にサーバー上でWebページを構築するスクリプト言語です。 30年以上前に誕生し、ある推定によると、 WordPressやWikipediaの背後にあるソフトウェアを含め、ウェブサイトの約70パーセントを動かしています。 開発者はそれを嘲笑するのが好きですが、通常はPHPが提供するページから行います。 その維持は、約13人のエンジニアを擁する非営利団体によって行われています。
2つのPHP2Shellのバグとは何か?
0:41 水曜日に、PHPは、見知らぬ人がログインなしでサーバー上でコードを実行できるようにする2つの重大な欠陥に対する緊急修正を出荷しました。 これらはPHP2Shellと総称され、PHP 5.4にまでさかのぼります。 これが最初のバグを平易な言葉で説明したものです。 PHPはすべてのリクエストにメモリ予算を与えます。 もしリクエストが、まさに誤った瞬間にその制限に達した場合、 PHPは急いで中断し、リクエストを半完成のままにしてしまいます。 その後、クリーンアップステップは半完成のものを信頼します。 2番目のバグは残存物です。
1:07 致命的なエラーにより、前のリクエストに属していたメモリを指すノートが残されることがあります。 同じワーカーが次のリクエストを処理し、そのノートに従います。 その頃には、そのアドレスには別のものが存在しています。 Apacheとmod_phpを使用している場合、ダメージは独自のコードが実行される前に発生するため、 ログインページは投票権を得られません。 Wizは、ハローワールドスクリプトでさえ露出していると述べています。 この修正は、メモリ不足になった場合のPHPの緊急終了を削除します。 リクエストの途中で中断する代わりに、PHPは次に安全なポイントで丁寧にとまります。
1:32 奇妙なのは、最初のヒントがどれほど古いかということです。 2024年、外部のセキュリティ監査により、PHPのコア開発者がメモリ問題の最初の兆候を発見しました。
なぜ既知のバグが2年間も放置されたのか?
1:39 エクスプロイトは知られておらず、すべての修正が何かを壊しました。 コンセンサスで決定するチームは選択できず、バグは待たされました。 その後8月には、数日以内に発見者が現れました。 Califの研究者ライアン・オースティンは、8月1日にOpenAIのPatch the Planetプログラムを通じて作業中にそれを見つけました。 OpenAIは同じ根本原因を独自に報告しました。
誰が、どのようにPHP2Shellを発見したのか?
1:56 Wizは数週間後、GeminiとGPTモデルで変種を発見しました。 オースティンは、誰でも入手できるモデルと、PHPの古いバグがどこに隠れているかについての理論を使用したと述べています。 OpenAIは、フロンティアAIが鍵だったと述べています。 このバグは10年以上隠されていました。 リリースは木曜日に予定されていました。 火曜日には、2つのCVE番号がオンラインで流通し始めました。 誤ったリリース時刻と10という誤ったスコアが付けられました。 PHPはリリースを1日早めました。
PHP2Shellの公開禁止措置はどのようにリークしたのか?
2:21 その夜、Califは誤って概念実証が機能するビデオを公開し、削除された後もコピーが残りました。 水曜日の朝、リリースより6時間以上前に、 Chainguardは修正を含むビルド済みイメージを公開しました。 PHPは、他の誰もが待っている間に、攻撃者がその修正を研究できたと述べています。 パッチは差分でもあり、攻撃者は差分を読みます。 では、実際に誰が攻撃されているのでしょうか? Amazonのハニーポットは10月17日に試行を記録し、その後PHP2Shellが広く悪用されていると述べました。 watchTowrは野外での悪用を報告しています。
2:46 Cisaは公開時には何も観測していないと述べ、PHPのチームはリリース時に動作するエクスプロイトを発見していませんでした。
PHP2Shellは悪用されているのか、誰によって?
2:50 CloudflareのCEOは、発表の10時間前には数千件の試行があり、木曜日の朝までに数百万件に達したと述べました。 Amazonは1つの点について慎重です。 最も初期の試行が実際のシステムで機能したかどうかはわかりません。 試行はドアをノックするだけです。 では、実際にはどれほど悪いのでしょうか? watchTowrによると、出回っている公開エクスプロイトのほとんどはクラッシュするか、何も機能しません。 VulnCheckによると、一部のセットアップではコード実行が機能し、公開されているもののどれも標準的なx86サーバーのメモリランダム化を打ち破ることはできません。 研究者のエリアス・テイラーは、Log4Shellほど簡単ではないと述べています。
3:13 それでも誰もがパッチを当てろと言っています。 政府は判決を待ちませんでした。 NSAはパッチを当てられない組織にPHPシステムをオフラインにするよう指示し、 英国の国家サイバーセキュリティセンターも同様のアドバイスを出しました。 国家デジタルIDサービスを含むオランダのサイトは、パリの警察サイトと共に停止しました。 Wikimediaは予防措置としていくつかのシステムを停止しました。 Palo Alto Networksは、2,200万以上の露出したインスタンスを数えました。 そして、オーストラリアの教授が最も鋭い指摘をしました。
3:40 心配すべきサイトは、今日ダウンしていないサイトです。 PHP 8.2から8.5までの修正が存在します。
政府は何をオフラインにしたのか?
3:44 7.4、8.0、8.1については、 PHPはソースパッチのみを公開しました。 古いバージョンはPHPプロジェクトからは何も得られないため、ディストリビューションに問い合わせてください。 回避策は可能性を減らしますが、PHPは更新が唯一の完全な修正であると述べています。 これは昨日のeMudhraのエピソードと同じ教訓です。 修正が存在することと、実行中のプロセスがそれを持っていることは同じではないからです。 スタック内のすべてのPHPを見つけてください。他のソフトウェア内に隠れているコピーも含まれます。 更新し、ワーカーを再起動し、10月17日までのログを確認してください。
どのPHPバージョンが修正されるのか?
4:11 同日、GitLabはクリティカルパッチリリース、 19.5.1を出荷しました。 その正規表現コンパイラにおける整数オーバーフローにより、認証されていない ユーザーがサーバー上でコードを実行できるようになり、スコアは10点満点です。 GitLab.comはすでにパッチが適用されています。 自己管理型のインストールには更新が必要です。
今夜、PHP2Shellに対して何をするべきか?
4:32 一方、ニューメキシコ州では、裁判官がケンブリッジ・アナリティカ事件でMetaに250億ドルの罰金支払いを命じました。 陪審は、最大5000ドルの違反が4300万件以上あったと数え、これは裁判官が減額する前に約2200億ドルになりました。 Metaは控訴で勝訴すると述べています。 さて、約束した弁明です。
他に今日のクリティカルRCEパッチが出荷されたものは何か?
4:47 ChainguardのCEOはThe Registerに対し、PHPで何かが来ることを知った後、基本的なプロンプトで悪い脆弱性を発見するために金曜日の夜に自分で同じバグを発見したと語りました。 彼は、すでに人々が攻撃を受けていたため、早期に出荷したと述べています。 これを私が言うのを聞くよりも読みたい場合は、 diffは毎朝無料でthedailydiff.devの受信箱に届きます。 リンクは以下にあります。したがって、今日の評決はSHIP ITです。 今夜PHPのアップデートを出荷してください。なぜなら、新しいバージョン番号が唯一の完全な修正だからです。
なぜMetaは250億ドルの支払いを命じられたのか?
5:01 そして、それが今日のdiffです。 AxrisiのNikoです。 責任を持ってマージしてください。 誰が4日早くPHP2Shellを試したのか? 2つのPHP2Shellのバグとは何か? なぜ既知のバグが2年間も放置されたのか?
Chainguardの早期修正の弁明とは?
5:19 誰が、どのようにPHP2Shellを発見したのか? PHP2Shellの公開禁止措置はどのようにリークしたのか? PHP2Shellは悪用されているのか、誰によって? 政府は何をオフラインにしたのか? どのPHPバージョンが修正されるのか? 今夜、PHP2Shellに対して何をするべきか?
SHIP ITスタンプが押されるのは何か?
5:39 他に今日のクリティカルRCEパッチが出荷されたものは何か? なぜMetaは250億ドルの支払いを命じられたのか? Chainguardの早期修正の弁明とは? SHIP ITスタンプが押されるのは何か?
情報源
- Today's PHP Security Release, and How We're Strengthening PHP SecurityThe PHP Foundation
- RCE via OOM corruption (GHSA-w8hw-w9fx-j79w)PHP security advisory
- RCE via stale global state (GHSA-6wmf-4rv5-p3rp)PHP security advisory
- Upcoming Critical PHP Security Releasephp.net
- php2shellCalif
- PHP2Shell: AI uncovers critical RCE vulnerabilities affecting 70% of the InternetWiz Research
- Amazon Threat Intelligence identifies PHP2Shell exploitation prior to public disclosure in MadPotAWS Security Blog
- Critical Vulnerabilities in PHP Require Immediate PatchingCISA
- Flaw in PHP computer language leads to shutdown of websites around worldThe Guardian
- What is PHP, and how bad is the computer language flaw causing website shutdowns globally?The Guardian
- PHP2Shell Exploitation Started Days Before PatchesSecurityWeek
- PHP2Shell: Responding to CVE-2026-109618 and CVE-2026-109619Tanium
- There isn't an easy exploit for this PHP vulnerabilityElias Taylor
- PHP blames supply chain security biz Chainguard for putting entire web at riskThe Register
- PHP2Shell: 22M exposed servers at risk as emergency patches releasedTechTarget
- PHP ships emergency patches for critical PHP2Shell flawsBleepingComputer
- GitLab Critical Patch Release: 19.5.1, 19.4.3, 19.3.6, 19.2.9, 19.1.9, 19.0.10, 18.11.13GitLab
- Meta ordered to pay $25 billion penalty in New Mexico Cambridge Analytica caseCNBC
- Tell HN: 2x PHP RCE CVEs with CVSS 10.0 IncomingHacker News



