XAMPP は PHP2Shell の影響を受けますか?
受けます。XAMPP は独自に PHP を同梱しており、提供中のどの版も PHP2Shell(CVE-2026-109618・CVE-2026-109619)の修正前です。Apache Friends のダウンロードページの最新版は Windows・Linux が XAMPP 8.2.12、macOS が 8.2.4 で、Windows 版のフォルダーも 2023年11月の PHP 8.2.12・8.1.25・8.0.30 が最後です。PHP の修正版は次のとおりです。
| 系列 | 最初の修正版 |
|---|---|
| PHP 8.2 | 8.2.35 |
| PHP 8.3 | 8.3.36 |
| PHP 8.4 | 8.4.27 |
| PHP 8.5 | 8.5.12 |
| 8.1 以前 | 新しいリリースなし(7.4・8.0・8.1 は公式ソースパッチあり) |
XAMPP の Apache が PHP をモジュール(mod_php)として読み込んでいる場合、PHP の告知はその構成を最もリスクが高いとしています。
ローカルの XAMPP でも問題になりますか?
自分のパソコン以外から接続できる場合に限って問題になります。攻撃には、サーバーへ HTTP リクエストを送る必要があるからです。Apache Friends の FAQ は、XAMPP は本番用ではなく開発環境専用で、開発者が何でもできるようできるだけ開いた設定にしていると説明し、ネットワークから接続できる場合を特に注意しています。次の点を確認してください。
- 同じ Wi-Fi や社内 LAN: Apache の説明では、ポート番号だけの
Listenはすべてのインターフェースで待ち受けます。ファイアウォールで遮断していなければ、同じネットワークの端末から接続できます。 - ポート転送・トンネル・公開サーバー: インターネットから接続でき、修正前の PHP を公開しているのと同じです。
- 127.0.0.1 だけ: 外部からは届きません。攻撃するには、すでにそのパソコンに入り込んでいる必要があります。
XAMPP の PHP バージョンはどう確認しますか?
Apache が使う PHP を確認します。FAQ が案内する http://localhost/xampp/phpinfo.php で、バージョンと読み込まれている php.ini(Windows では \xampp\php\php.ini)が分かります。XAMPP のシェルで実行する php -v はコマンドライン(CLI)の結果です。php_sapi_name() は Apache のモジュールなら apache2handler を返します。詳しくは PHP バージョンの確認方法へ。
Apache Friends は修正版の XAMPP を出しましたか?
2026年10月22日 時点では出ていません。ブログとダウンロードの最新は PHP 8.2.12 の版のままで、2026年10月21日に PHP2Shell 対応を求めて立てられた GitHub の issue にも、確認時点でメンテナーの返答はありませんでした。PHP 本体は php.net からだけ入手し、ほかで配られている「修正済み XAMPP」は疑ってかかってください。
修正前の XAMPP はどう対処しますか?
- ローカルに限定する:
\xampp\apache\conf\httpd.confのListen 80をListen 127.0.0.1:80に変え、HTTPS を使うなら SSL の設定のポートも同様にします。ポート転送やトンネルは外します。 - 使わないときは止める: 開発しないときは XAMPP コントロールパネルで Apache を停止します。
- 修正済みの PHP で開発する: 公式 Docker の PHP イメージは 8.5.12・8.4.27・8.3.36・8.2.35 に更新済みです(更新内容)。Docker の PHP イメージを見てください。同梱パッケージを使わない Windows なら Windows の PHP アップデートへ。
- 本番サイトには使わない: 本番の PHP は、セキュリティ修正が届く入手元から入れます。
Apache の再起動と確認はどうしますか?
Listen を変えたら、再読み込みではなく Apache をいったん停止してから起動します。Apache の説明書は、再起動での Listen の変更は失敗することがあると注意しています。その後、同じネットワークの別の端末からサイトを開き、接続できないこと、自分のパソコンでは http://localhost/ が開けることを確かめます。バージョンの判定には PHP バージョンチェッカーを使えます。
まだこの XAMPP を使い続ける必要がある場合は?
localhost に限定したうえで、php.ini で session.upload_progress.enabled を無効にする、post_max_size を下げるといった PHP 公式の暫定策を入れ、Apache を再起動します。特定の経路を防ぐだけなので、暫定対策のページで限界を確認してください。
PHP 7.4・8.0・8.1 の古い XAMPP は?
さらに古く、PHP 公式の 7.4・8.0・8.1 向け修正はソースパッチだけで、Windows 版もありません。プロジェクトを 8.2 以降へ移してください。PHP のサポート終了、PHP2Shell の対処法、PHP2Shell チェッカーも参照してください。
自分のパソコンで XAMPP を使っているだけです。何かする必要はありますか?
ほかから接続できないことを確認してください。Apache が 127.0.0.1 だけで待ち受け、ポート転送やトンネルも使っていなければ、外部からリクエストは届きません。社内 LAN や共用 Wi-Fi では接続を制限するか、使わないときに Apache を止めます。
XAMPP の php フォルダーを新しい PHP に入れ替えてもいいですか?
Apache Friends はその手順を案内しておらず、動作の保証はありません。今すぐ修正済みの PHP で開発したいなら、公式 Docker の PHP イメージなど、修正版をすでに提供している環境に移るほうが安全です。
情報源
このページの主要な事実(修正版、CVE の内容、配布元のパッケージ、公的機関の呼びかけ)は公式の情報源にもとづいています。研究者の報告、報道、コミュニティの投稿はそれぞれ区別して表示しています。
- Security advisory: Critical remote code execution vulnerabilities, update now公式 The PHP Group
- RCE via OOM corruption公式 The PHP Group
- RCE via stale global state公式 The PHP Group
- php_sapi_name公式 The PHP Group
- [security] Update to 8.5.12, 8.4.27, 8.3.36, 8.2.35事業者 Docker Official Images maintainers
- XAMPP Installers and Downloads for Apache Friends事業者 Apache Friends
- XAMPP Windows files事業者 Apache Friends (SourceForge project)
- XAMPP Windows FAQ事業者 Apache Friends
- Binding to Addresses and Ports事業者 The Apache Software Foundation
- PHP CVE-2026-109618 & CVE-2026-109619コミュニティ GitHub (community issue on Apache Friends' repo)