PHPバージョン脆弱性チェック
2026年10月21日、PHP本体に認証不要でリモートコード実行が可能な重大な脆弱性が2件公表されました。 通称 PHP2Shell (CVE-2026-109618 / CVE-2026-109619) です。CVSS v4.0 でいずれも 9.2、最上位の緊急に分類されています。 使用中のPHPがこの影響を受けるかを確認します。
PHP2Shell とは
2026年10月21日に公開された、PHP本体の2件の脆弱性を指す通称です。 CVE-2026-109618 はメモリ不足時の処理に関するもので、リクエストの内部データが初期化し切らないまま 処理が中断され、その後の後片付けが壊れたデータを正常なものとして扱ってしまいます。 CVE-2026-109619 は、リクエストが所有していた内部状態が、そのメモリが解放された後も残り、 同じワーカーが処理する次のリクエストがそれを参照してしまうものです。 どちらも認証なしで任意のコードを実行される可能性があり、CVSS v4.0 で 9.2 と評価されています。
影響を受けるバージョンと修正版
| 系列 | 修正版 | 状態 |
|---|---|---|
| PHP 8.5 | 8.5.12 | サポート中 (2029-12-31まで) |
| PHP 8.4 | 8.4.27 | サポート中 (2028-12-31まで) |
| PHP 8.3 | 8.3.36 | サポート中 (2027-12-31まで) |
| PHP 8.2 | 8.2.35 | サポート中 (2026-12-31まで) |
| PHP 8.1 | 提供なし | サポート終了 (2025-12-31) |
| PHP 8.0 | 提供なし | サポート終了 (2023-11-26) |
| PHP 7.4 | 提供なし | サポート終了 (2022-11-28) |
| PHP 7.3 | 提供なし | サポート終了 (2021-12-06) |
| PHP 7.2 | 提供なし | サポート終了 (2020-11-30) |
| PHP 7.1 | 提供なし | サポート終了 (2019-12-01) |
| PHP 7.0 | 提供なし | サポート終了 (2019-01-10) |
| PHP 5.6 | 提供なし | サポート終了 (2018-12-31) |
PHP 8.1 以前はサポートが終了しており、公式の修正は提供されません。該当する場合は、系列の移行が必要です。
完全な緩和策は存在しません
PHP公式は、更新が唯一の安全な選択であると明言しています。 session.upload_progress.enabled を 0 にする方法は、確認されている攻撃経路の1つを塞ぐものであり、 脆弱性そのものを消すものではありません。設定だけで済ませず、必ず更新してください。
WordPressを使っている場合
この脆弱性はPHP本体のもので、WordPress、テーマ、プラグインより下の層にあります。 WordPress側では直せません。対処はサーバ側のPHP更新のみです。 あわせて、プラグインとテーマに既知の脆弱性が残っていないかは WordPress脆弱性診断 で確認できます。