「うちのサイトもPHPだけど、今すぐ止めないといけないの?」
「パッチを当てられないときは、何をすればいいの?」
ボス、昨日の夜からゲームもネットショップも緊急メンテばかりでしゅ!
PHPに、ログインなしで外からプログラムを動かされる穴が2件見つかったからだな。
PHPってそんなにたくさんのサイトで使われてるんでしゅか?
WordPressをはじめ、国内のWebサービスの土台になっている言語だ。
だから止める判断が相次いだ。
自社のWebサイトがPHPで動いていると、今回の脆弱性が自分ごとなのか、どこまで急ぐべきか迷う方も多いはずです。
この記事では、PHP開発チームが公表した2件の脆弱性の中身と国内の動き、すぐに更新できないときの緩和策を整理します。
3行で分かるニュースのポイント
- PHP開発チームが2026年10月21日、認証なしでリモートコード実行が可能な脆弱性2件(CVE-2026-109618、CVE-2026-109619、いずれもCVSS v4.0で9.2)を修正した
- 修正版はPHP 8.5.12、8.4.27、8.3.36、8.2.35で、PHP-FPMやApacheのmod_phpなどWebリクエストを処理するすべての環境が対象になる
- 国家サイバー統括室が注意喚起を出し、ウマ娘やBASE、コドモンなど国内サービスが緊急メンテナンスや一時停止に踏み切った
対象の範囲と優先順位が分かれば、今日やるべき作業を迷わず決められるはずです。
目次
PHP脆弱性の概要
PHP開発チームは前日に予告したうえで、日本時間10月21日23時に修正版を公開しました。
前日予告から修正版公開までの流れ
PHPの公式サイトによると、セキュリティチームは10月20日に「重大なセキュリティリリースを予定している」と事前に告知しました。
公開日時は10月21日14時(UTC)で、日本時間では同日23時にあたります。
告知では、脆弱性の詳細が公になったり実際の悪用が確認されたりした場合は、予定より早く公開する可能性があるとしていました。
修正版の内容は以下の通りです。
| 系列 | 修正版 |
|---|
| PHP 8.5 | 8.5.12 |
| PHP 8.4 | 8.4.27 |
| PHP 8.3 | 8.3.36 |
| PHP 8.2 | 8.2.35 |
サポートが終わったPHP 8.1以前は、PHPプロジェクトからの更新がありません。
ただし今回は深刻さを踏まえ、PHP 7.4、8.0、8.1向けに最小限のソースコード修正が公開されています。
国内サービスの緊急停止と国の注意喚起
Impress Watchによると、国家サイバー統括室は修正パッチをすぐに当てられない場合、Webサイトを一時的に止めることもリスクを下げる有効な手段のひとつだと呼びかけました。
これを受けて、国内では21日夜から予防的な停止が相次ぎました。
報じられた主な動きは以下の通りです。
- Cygamesの「ウマ娘 プリティーダービー」「グランブルーファンタジー」「Shadowverse: Worlds Beyond」が21日夜に緊急メンテナンス
- ネットショップ作成サービスのBASEやpixiv、DMM.com、niconicoなどがメンテナンスを実施
- 保育施設向けICTサービスのコドモンが、保護者アプリを含む全サービスを一時停止
ゲーム各社のメンテナンスはファミ通.comも報じています。
各社は、今回の件で不正アクセスや情報漏えいは確認されていないとしています。
あれだけの大手が一斉に止めるとは、それだけ穴が深いということだ。
脆弱性の仕組みと影響
2件とも、PHPがリクエストを処理する途中のメモリの扱いに原因があります。
2件のRCE脆弱性の中身
PHPのセキュリティアドバイザリによると、2件の脆弱性は以下の通りです。
| CVE番号 | 原因 | 起きること |
|---|
| CVE-2026-109618 | メモリ不足時の処理 | 内部のリクエストデータが途中までしか初期化されていない状態で中断し、後片付けの処理が不正なデータを正しいものとして扱う |
| CVE-2026-109619 | 古い内部状態の残存 | 解放済みのメモリを指す内部状態が残り、同じワーカーが処理する次のリクエストがそれを使ってしまう |
対象はPHP-FPM、Apacheのmod_php、php-cgi、FrankenPHP、LiteSpeedなど、Webリクエストを処理するすべてのPHP環境です。
PHP開発チームは、mod_phpのリスクが最も高いとしています。
ログインしていないリクエストひとつで、アプリケーションのコードが動く前に攻撃を始められることを実証したためです。
WordPressなどのアプリ側で対策していても、土台のPHPが古ければ防げない点に注意が必要です。
アプリのコードが動く前って、プラグインの更新じゃ防げないんでしゅか!?
すぐに更新できないときの緩和策
PHP開発チームは、完全な対策は更新だけで、緩和策はインストールを安全にするものではないと明記しています。
そのうえで、特定の攻撃経路を減らす方法として以下を挙げています。
- CVE-2026-109618向けに、アプリから上書きできない形で memory_limit=-1 を設定する
- ファイルのアップロードが不要なら post_max_size を8M、必要なら32Mに抑える
- CVE-2026-109619向けに、session.upload_progress.enabled=0 にしてすべてのワーカーを再起動する
- PHP 8.5では fatal_error_backtraces=0 を設定して再起動する
ini_set() やFPMの .user.ini での設定は効かないため、php.iniやFPMのプール設定で行う必要があります。
また、Linuxディストリビューションには事前にパッチが提供されているため、まずは利用中のディストリビューションの更新パッケージを確認するのが近道です。
まとめ
PHPに、認証なしでリモートからコードを実行される脆弱性が2件見つかり、10月21日に修正版のPHP 8.5.12、8.4.27、8.3.36、8.2.35が公開されました。
Webリクエストを処理するすべてのPHP環境が対象で、国家サイバー統括室の呼びかけを受けて国内の大手サービスが予防的に停止しました。
緩和策はあくまで時間稼ぎなので、自社や委託先が運用するPHPのバージョンを洗い出し、早めに更新することが大切です。
社内のサーバーのPHPのバージョン、今日中に全部確かめましゅ!