製品とスタック · Linux ディストリ、リポジトリ、Windows
IIS on Windows と PHP2Shell:影響の有無と対処法
IIS on Windows が使う PHP バージョンの確認方法
環境に合うコマンドを実行します。同じブランチで 8.2.35、8.3.36、8.4.27、8.5.12 以上なら修正済み。古いブランチはベンダーが修正を明記したビルドのみ修正済みです。
C:\PHP\php.exe -v
%windir%\system32\inetsrv\appcmd list config /section:system.webServer/fastCgiコマンドラインの php はサイトを動かす PHP と違うことがあります。確実にするには Web SAPI(認証付きの一時的な phpinfo() ページか、パネルの PHP 設定)を確認し、終わったら削除してください。当サイトのバージョンチェッカーで番号を比較できます。
🔎 バージョン番号がわかったら PHP2Shell チェッカーで確認 →
IIS on Windows の PHP2Shell を修正する方法
- windows.php.net から該当ブランチの Non Thread Safe x64 zip(IIS FastCGI は NTS)と対応する Visual C++ ランタイムを取得します。
- サイトかアプリケーションプールを止め、PHP フォルダーの中身を差し替え(
php.iniと拡張は残す)、iisresetの後php -vで確認します。 - ベンダービルドがない場合、同梱 PHP を同じブランチの公式修正版に差し替えるのが自力での対処です。古いフォルダーと
php.iniはバックアップしておきます。 - Web サーバーを再起動し、Web SAPI が示すバージョンを再確認します。
確認を AI エージェントに任せたい場合: 影響の有無を確認 · AI エージェントで修正
すぐに修正できない場合
- アプリが上書きできない場所(php.ini、FPM プールや Apache 設定の
php_admin_value)でsession.upload_progress.enabled = 0を設定し、PHP を再起動します。 - PHP 8.5 では
fatal_error_backtraces = 0を設定します。 - PHP の暫定策には
memory_limitと小さいpost_max_sizeも含まれます。一部の経路しか防げないため対策ページの通りに設定してください。 - ベンダーのバックポートがない PHP 8.1 以前なら、アクセス制限(VPN、IP 許可リスト)かサービス停止を。WAF ルールは役立ちますが修正ではありません。
よくある質問
IIS on Windows は PHP2Shell の影響を受けますか?
ベンダーの修正版を入れるまでは影響を受けます。 windows.php.net に 4 ブランチの修正版があります。IIS は PHP を更新しないため、IIS FastCGI が指す PHP フォルダーをすべて差し替える必要があります。昔 PHP Manager や Web Platform Installer で入れた PHP はそのときの版のままです。
IIS on Windows 自体を更新すれば CVE-2026-109618 と CVE-2026-109619 は直りますか?
更新に修正済み PHP が含まれる場合のみです。PHP2Shell は PHP インタープリターの脆弱性なので、IIS on Windows が動く PHP が問題です。更新後にバージョンを確認してください。
PHP2Shell を修正した PHP バージョンは?
2026 年 10 月 21 日公開の PHP 8.2.35、8.3.36、8.4.27、8.5.12 です。PHP 8.1 以前は PHP プロジェクトからリリースがなく、バックポートしたベンダービルド(または 7.4、8.0、8.1 用ソースパッチで自前ビルド)のみが修正になります。
IIS on Windows にまだ修正がない場合は?
PHP ベースの Web 画面をインターネットから遮断(VPN か IP 許可リスト)し、session upload progress の無効化など PHP の暫定設定を適用、ベンダー更新が出たらすぐ入れます。暫定設定はリスクを下げますが修正ではありません。
関連製品
- Ubuntuベンダー修正あり
- Ondřej Surý PPA and packages.sury.orgベンダー修正あり
- Debianベンダー修正あり
- RHEL, AlmaLinux and Rocky Linux一部修正
- Remi's RPM repositoryベンダー修正あり
- Alpine Linux一部修正
関連:プラットフォーム別の対策 · 影響バージョン · ベンダー状況
出典
- windows.php.net downloads
- ma.ttias.be: how to apply the patches (package status)
- PHP advisory GHSA-w8hw-w9fx-j79w
- PHP advisory GHSA-6wmf-4rv5-p3rp
外部リンクは本サイトの外に移動します。本サイトはエクスプロイトコードを掲載しません。
公開情報の非公式まとめです。当サイトはベンダーや PHP プロジェクトとは無関係で、攻撃コードは掲載しません。