比較
PHP2Shell と Log4Shell の比較
どちらも、インターネットの大部分の下で動くソフトウェアにおける認証不要のリモートコード実行です。大きな違いは、Log4Shell は悪用が簡単で発見が難しかったのに対し、PHP2Shell は悪用が難しく発見しやすいことです。
最終確認 2026-10-22
| PHP2Shell | Log4Shell | |
|---|---|---|
| 概要 | PHP インタープリタの 2 つのメモリ安全性のバグ | Java のログライブラリ Log4j 2 における JNDI ルックアップのインジェクション |
| CVE | CVE-2026-109618、CVE-2026-109619 | CVE-2021-44228(と後続の CVE) |
| 公開日 | 2026 年 10 月 21 日(10 月 20 日に漏えい) | 2021 年 12 月 9 日(同日にエクスプロイトが公開) |
| スコア | CVSS 4.0 9.2 | CVSS 3.1 10.0 |
| 認証 | 不要 | 不要 |
| 悪用の難しさ | 難しい:細工した multipart リクエストを、試行を繰り返して標的ごとのメモリ配置に合わせる | 簡単:${jndi:ldap://…} のような文字列がログに記録される場所にあるだけ |
| 影響範囲 | 脆弱な PHP で動くすべてのサイト——Web の大部分 | Log4j 2.0–2.14.1 で攻撃者の入力をログに記録するすべての Java アプリ——サーバー、アプライアンス、ゲーム |
| 影響を受けるシステムの洗い出し | 比較的簡単:PHP 実行環境そのものなので、サーバーやコンテナごとにバージョンを確認すればよい | 難しい:Log4j は推移的な依存関係として JAR やベンダー製品の中に隠れていた |
| 修正 | PHP を更新してワーカーを再起動 | Log4j を更新(2.15 → 2.16 → 2.17 と複数回)し、影響を受けるアプリをすべて再ビルド |
| 誰が直すか | サーバーを管理する人:あなた、ホスティング会社、クラウド事業者 | Log4j を同梱したすべてのベンダーと、そのアプリを動かすすべての人 |
| 攻撃の状況 | 公開当日に初期の攻撃が報告。侵害が確認された公開事例はまだない | 数時間で大規模な悪用。CISA KEV に掲載 |
| RCE なしでのデータ窃取 | 可能——メモリ漏えいの経路 | 間接的に可能(DNS ルックアップで環境変数を流出) |
共通点
- ログインもユーザー操作も不要——ネットワークリクエストだけ。
- ほとんどの運営者が意識しない基盤ソフトウェアのため、多くのシステムが長期間未修正のまま残る。
- アプリケーションを更新しても効果がない。脆弱なのはその下の層。
相違点
- 悪用の手間。Log4Shell はコピペできる文字列でしたが、PHP2Shell は標的ごとに調整が必要なメモリ破壊のチェーンです。最初は少数の高度な攻撃者が中心で、信頼できるツールが広まると悪用が一気に広がると考えられます。
- 棚卸し。「どのサーバーで PHP が動いていて、バージョンは何か」は数時間で答えられます。Log4j の洗い出しには、多くの組織が数週間を要しました。
- ロングテール。PHP のロングテールは、共有ホスティングと、PHP 7.x や 8.0/8.1 のまま放置されたサーバーです。これらには新しいリリースが出ません。
よくある質問
PHP2Shell は Log4Shell と同じくらい深刻ですか?+
影響範囲は同程度で、最悪の結果(認証不要のリモートコード実行)も同じですが、悪用はより困難です。Log4Shell はログに残るどの項目でも文字列 1 つで成立しましたが、PHP2Shell のエクスプロイトは標的ごとに調整が必要です。また PHP2Shell は PHP 実行環境にあり、アプリの依存関係に隠れていないため、棚卸しも修正も容易です。
Log4j 向けの修正やスキャナーは PHP2Shell に役立ちますか?+
役立ちません。両者は無関係です:Log4Shell は Java のログライブラリ、PHP2Shell は PHP インタープリタの問題です。スキャナーも修正方法も異なります。
関連ページ
- PHP2Shell とは?PHP とは何か、リモートコード実行とはどういう意味か、PHP2Shell がなぜ深刻か、サイト運営者や SaaS 利用者が実際に何をすべきかを専門用語なしで説明します。
- CVSS 9.2 vs 10.0PHP2Shell が当初 CVSS 10.0 と報じられ、公式には 9.2 とされた理由、CVSS 4.0 ベクトルの各項目の意味、そしてスコアが実際のリスクについて示すこと。
- タイムライン2024 年の監査から 2026 年 10 月 21 日の公開まで:PHP2Shell 公開の全ステップ(UTC)、事前の情報漏えい、PHP Foundation の対応、誰が何を発見したか。