PHPの開発チームは、認証不要でWebサーバー上のコードをリモートから実行される恐れがある2件の重大な脆弱性「PHP2Shell」(CVE-2026-109618、CVE-2026-109619)を修正する緊急セキュリティアップデートを公開しました。修正版はPHP 8.5.12、8.4.27、8.3.36、8.2.35で、開発チームはすべてのPHPユーザーに直ちに更新するよう強く呼びかけています。

Wizの研究者らは、次のように説明しています。「今回の発見は、PHPで見つかった脆弱性の中で最も深刻なものの一つであり、ソフトウェアの歴史全体で見ても屈指と言えるでしょう。根本的な欠陥は数十年前から存在していましたが、悪用が可能であることを示すには、人間の研究者が現実的に達成できる限界に迫るほど極めて複雑な手順の連鎖が必要でした。最先端のAIモデルがこの障壁を大幅に引き下げ、長年放置されてきた欠陥を攻撃コードに変えたのです」
影響を受けるのは?
Webリクエストを処理するPHP環境はすべて影響を受けます。PHP-FPM、mod_php構成のApache、php-cgi、FrankenPHP、LiteSpeedも対象です。中でもmod_phpを使う構成の危険性が最も高くなります。動作する攻撃コードがすでに確認されており、認証なしの1回のリクエストだけで、アプリケーションコードが実行される前に攻撃を成立させられることが実証されています。
セキュリティ研究者のKevin Beaumont氏は、「PHPのこの問題は大量のインシデントにつながるでしょう。ここ数年で最大級の脆弱性の一つです」と指摘しています。
脆弱性の詳細
CVE-2026-109618 – メモリ不足(OOM)による破損を利用したRCE:メモリ不足の処理により、リクエストの内部データが部分的にしか初期化されていない状態でPHPが中断される場合があります。その後のリクエスト後処理で、この不正なデータが正当なものとして扱われる恐れがあります。
CVE-2026-109619 – 古いグローバル状態を利用したRCE:リクエストが保持する内部状態が、その基盤となるメモリの解放後も残り続けることがあります。同じワーカーが処理する後続のリクエストが、通常の初期化でリセットされる前にこの古い状態を使用してしまう可能性があります。
英国の国家サイバーセキュリティセンター(NCSC)は、すぐに修正できないシステムについては、オフラインにすることを検討するよう各組織に呼びかけています。
コンピューターフォレンジックの専門家Hal Pomeranz氏は、「パッチが適用されることのない組み込み環境が非常に多く存在します。忘れ去られ、保守されていないアプリも多すぎます。この問題の影響は長く尾を引くでしょう」とコメントしています。
CVE-2026-109618とCVE-2026-109619への対処法は?
PHP 8.5.12、8.4.27、8.3.36、8.2.35のいずれかに更新してください。ダウンロードはこちらから入手できます。
Linuxディストリビューションと長期サポート(LTS)ベンダーには、一般公開に先立ってパッチが提供されています。管理者は、更新パッケージについて各ベンダーに確認してください。
PHPプロジェクトは、PHP 8.1以前のバージョンをすでにサポートしていません。一部のディストリビューションやLTSベンダーはバックポートされた修正を提供しているため、これらのバージョンを使用しているユーザーは、ベンダーに問い合わせるか、サポート対象のリリースにアップグレードしてください。
ボランティアが運営するリポジトリrpms.remirepo.netに依存しているユーザーは、すぐにパッチを適用できるよう、ディストリビューションのパッケージに切り替えるか、PHPをソースからビルドすることが推奨されます。同リポジトリでは、本日時点で更新版は提供されません。
脆弱性が極めて深刻であることから、PHPセキュリティチームはPHP 7.4、8.0、8.1向けに、最小限のソースバックポートも公開しました。これらは、ソースからビルドしているユーザーや、LTSベンダーを利用していないユーザーを想定したものです。
CloudflareのCTOであるDane Knecht氏は、「Cloudflareの背後にあるPHPサイトには、これらの脆弱性で確認されている攻撃手法に対応する初期のWAFルールがすでに展開されています。このルールは無料プランを含むすべての顧客が利用できます」と述べています。