TECHTech NO. ---
PHP、重大な脆弱性2件の緊急パッチを公開予定 管理者が今すべきこと
PHPセキュリティチームは、CVSS v4.0で9.2と評価された脆弱性2件を修正する緊急リリースを事前告知しました。公式に確認された情報、未検証の情報、そしてサーバー運用者が今できる準備をまとめます。
要点
- PHPセキュリティチームは、2026年10月21日(水)14時(UTC)に定例外のセキュリティリリースを予定しています。修正対象の脆弱性は2件で、いずれもCVSS v4.0で9.2(Critical)と評価されています。
- PHPは、技術的な詳細が公になった場合や実際の悪用の証拠がある場合、修正を前倒しで公開する可能性があるとしています。影響を受けるバージョンと修正版は、リリース公開時に初めて明らかにされます。
- CERT-EUはこれらの脆弱性をCVE-2026-109618およびCVE-2026-109619と特定し、リモートコード実行につながるおそれがあるとしています。技術的な詳細は公式には開示されていません。
- 研究者らは、少なくとも1件をPHPの
session.upload_progress機能(デフォルトで有効)と関連付けています。PHPはこれを確認しておらず、この設定の無効化は2件の両方を防げない可能性がある非公式の暫定策です。 - 現在セキュリティ修正を受けているのはPHP 8.2、8.3、8.4、8.5のみです。それより古いブランチを使うサーバーには、公式パッチは提供されない見込みです。
PHPプロジェクトの発表内容
2026年10月20日(火)19時33分(UTC)、PHPのリリースマネージャーであるJakub Zelenka氏が、プロジェクトの公式メーリングリストphp.announceに「Upcoming Critical PHP Security Release」と題した告知を投稿しました。告知によると、このリリースは「2件の重大な脆弱性(いずれもCVSS v4.0で9.2、Critical)」に対応するもので、公開日時は2026年10月21日(水)14時(UTC)とされています。
告知は簡潔なもので、影響を受けるブランチ、脆弱なコンポーネント、回避策のいずれにも触れていません。リリースが公開され次第すぐ更新できるよう、利用者に今から準備するよう求めています。また、詳細のさらなる流出や攻撃者による悪用が始まった場合には、予定より早く公開する権利を留保するとしています。同じ事前告知はphp.netのトップページにも掲載されており、影響を受けるバージョンと修正版はリリースとともに公表されるとしています。
PHPがセキュリティリリースを事前告知するのは異例です。通常のセキュリティ更新は、事前の周知がほとんどないまま公開されるのが一般的です。直近の更新は2026年9月24日に公開されたPHP 8.5.11、8.4.26、8.3.35、8.2.34でした。公開時刻を明示した個別の告知は、メンテナーがサーバー運用者に迅速かつ広範な対応を期待していることを示しています。
警告が早まった理由
セキュリティ企業のSansecとHuntressが公開した経緯によると、10月20日15時20分(UTC)ごろ、フォーラムのHacker Newsに、PHPのリモートコード実行に関する2件の開示が近く行われるという投稿がありました。投稿はその後削除されましたが、スクリーンショットが出回りました。HuntressとSansecはいずれも、セキュリティ企業のwatchTowrがこれらの脆弱性が実在することを確認したと報告しており、HuntressはwatchTowrがそのうちの1件、CVE-2026-109618を再現したとしています。Sansecによると、予定日は当初の計画より1日前倒しされました。
EUの機関向けサイバーセキュリティサービスであるCERT-EUは、2件のCVEについてSecurity Advisory 2026-018を発行しました。CERT-EUは、これらが「リモートコード実行につながるおそれがある」とし、評価スコアからは認証なしで悪用される可能性がうかがえると指摘しています。また、技術的な詳細はまだ公開されていないと付け加えています。
影響を受ける可能性のあるバージョンと機能
これが最大の未解決の問題であり、公式な答えはリリースとともに示されます。現時点で各情報源が述べている内容は次のとおりです。
- PHP(公式):影響を受けるバージョンと修正版はリリースとともに公表されます。
- CERT-EU:別の情報源を引用し、PHP 5以降のすべてのバージョンが影響を受ける可能性があるとしています。
- Sansec:「PHP2Shell」というエクスプロイトツールの流出したスクリーンショットに、PHP 5.4.0以降のすべてのリリースで動作すると記載されていたと述べています。この主張はツール自体のバナーによるもので、独立した検証は行われていません。
- Huntress:報告はPHP 5から8を指しているものの、根本原因は公表されていないとしています。修正はサポート中のPHP 8系ブランチにのみ提供されると見込んでいます。
具体的なコンポーネントについては、日本のセキュリティニュースサイトLiltingが研究者の分析をまとめており、少なくとも1件をsession.upload_progressのハンドラーにおけるヒープのuse-after-freeと関連付けています。これは、プログラムが解放したメモリを使い続けてしまうメモリ破壊バグの一種です。ある独立した研究者は、このバグがphp_session_rfc1867_callback関数にあるとし、2件目は別の箇所、すなわちマルチパートリクエストのパーサーにあると述べています。Liltingが同じく引用しているGMO Flatt Securityは、自社の分析に不正確な点が含まれる可能性があると注意を促しています。これらの見解はいずれもPHPプロジェクトやCERT-EUによって確認されておらず、暫定的な情報として扱う必要があります。
セッションのアップロード進捗機能は、ファイルのアップロードがどこまで届いたかをPHPが記録し、Webページに進捗バーを表示できるようにするものです。PHPマニュアルによると、session.upload_progress.enabledのデフォルト値は「1」(有効)で、ディレクトリ単位(INI_PERDIR)で変更できます。つまり、アプリケーション内からini_set()で無効にすることはできません。
数字で見る:PHPのブランチと影響範囲
| 項目 | 値 | 出典 |
|---|---|---|
| 各脆弱性の深刻度 | CVSS v4.0 9.2(Critical) | PHP php.announce #509 |
| リリース予定 | 2026年10月21日 14時(UTC) | PHP php.announce #509 |
| PHP 8.5(最新 8.5.11) | セキュリティサポート期限 2029年12月31日 | php.net supported versions |
| PHP 8.4(最新 8.4.26) | セキュリティサポート期限 2028年12月31日 | php.net supported versions |
| PHP 8.3(最新 8.3.35) | セキュリティサポート期限 2027年12月31日 | php.net supported versions |
| PHP 8.2(最新 8.2.34) | セキュリティサポート期限 2026年12月31日 | php.net supported versions |
| サーバーサイド言語が判明しているWebサイトのうちPHPを使用する割合 | 69.3% | W3Techs、2026年10月21日 |
| PHPサイトのうちPHP 7/PHP 5を使用する割合 | 27.0%/7.7% | W3Techs、2026年10月21日 |
W3Techsの数字が重要なのは、同社の調査対象となったPHPサイトのおよそ3分の1がPHP 7またはPHP 5で稼働しているためです。これらのブランチは何年も前に公式修正の提供が終了しています。脆弱性が実際にそこまでさかのぼって影響する場合、これらのサイトにはPHPプロジェクトからパッチが提供されません。
サーバー管理者が今すべきこと
公式の対策は、修正版のPHPが公開され次第インストールすることだけです。それまでの間、PHP、CERT-EU、Huntress、Sansecの指針をまとめると次のようになります。
- すべてのPHP環境を棚卸しする。Huntressは、PHPが単体のパッケージとしてだけでなく、ベンダーのアプライアンス、ホスティングのコントロールパネル、CMSパッケージに組み込まれていることも多いと強調しています。
- インターネットに公開されたシステムから優先してパッチを当てる準備をする。php.netのトップページとphp.announceリストで修正版のバージョン番号を確認してください。Linuxディストリビューションのパッケージを使っている場合は、バックポートされた修正のバージョン番号が異なることがあるため、各ディストリビューションのセキュリティトラッカーを確認してください。
- ホスティング事業者に連絡する。Sansecによると、修正はサーバーレベルで行うものでアプリケーションのコードからは適用できません。そのため、自分でサーバーを管理していないMagento、Shopware、WooCommerceのストア運営者は、更新が公開され次第適用するよう事業者に依頼すべきです。
- サポート終了版のPHPに対処する。Huntressは、PHP 5、7、8.0、8.1を使うサーバーについて、アップグレード、オフライン化、またはVPNやWebアプリケーションファイアウォールの背後へのアクセス制限を推奨しています。CERT-EUは、迅速にパッチを適用できない場合、インターネットに公開されたアプリケーションを隔離するよう勧めています。
- 非公式の暫定策は慎重に検討する。複数の研究者が、
php.ini、.user.ini、またはWebサーバーの設定でsession.upload_progress.enabled = 0を設定することを提案しています。ファイルのアップロード自体は引き続き機能し、止まるのは進捗の追跡だけです。これはPHPの公式な指針ではなく、少なくとも1人の研究者は2件のうち1件しか防げないと述べています。 - 侵害の兆候を監視する。Huntressは検知分野の研究者Florian Roth氏の見解を引用しており、同氏は悪用が「PHPが生成する不審な子プロセス」として現れると予想しています。つまり、php-fpmやapache2などのPHPワーカーがシェルやダウンロードツールを起動する動きです。侵害が疑われる場合は、サーバーを隔離し、クリーンアップの前にWebとPHPのログを保全してください。
まだ分かっていないこと
予定されたリリース前の最新の公開情報の時点で、PHPは影響を受けるバージョン、根本原因、公式の回避策のいずれも公表していませんでした。Huntressは、10月20日時点でパートナー環境において実際の悪用は確認していないとしており、公開されたエクスプロイトコードも知られていませんでした。Sansecはリリースから約15分以内に大規模な攻撃が始まると予想していますが、これは観測ではなく推定です。認証なしで脆弱性を突けるかどうか、またどのサーバー構成(mod_php、PHP-FPM、CGI)が対象かも確認されていません。
影響と意味
PHPは、広く使われているコンテンツ管理システムやECプラットフォームを含め、Webの大部分を支えるサーバーサイド言語です。そのため、PHP本体にリモートから悪用可能な脆弱性があれば、影響は非常に広範囲に及ぶ可能性があります。プラグインのバグとは異なり、単一のアプリケーションを更新するだけでは修正できず、すべてのサーバーでランタイムレベルの更新が必要です。事前告知により、運用者にはメンテナンスを手配し、ホスティング事業者に連絡するためのわずかな猶予が与えられました。長期的により大きなリスクは、サポート対象外のPHPを使い続けている多数のサイトにあり、アップグレードや保護を行わない限り、今日以降も攻撃にさらされたままになるおそれがあります。管理者は、流出情報やSNS上の主張ではなく、PHPの公式リリースノートを、何が影響を受け何が修正されたかについての信頼できる情報源として扱うべきです。
よくある質問
PHPのセキュリティ修正はいつ公開されますか?
PHPセキュリティチームは2026年10月21日(水)14時(UTC)の公開を予定しています。詳細が公になった場合や悪用が確認された場合は、前倒しで公開する可能性があるとしています。
影響を受けるPHPのバージョンはどれですか?
PHPはまだ影響を受けるバージョンを明らかにしておらず、リリース時に公表するとしています。第三者の報告ではPHP 5以降のバージョンが影響を受ける可能性が指摘されていますが、確認されていません。現在セキュリティ修正を受けているのはPHP 8.2〜8.5のみです。
session.upload_progressを無効にすればサーバーは守れますか?
これは研究者が提案している非公式の暫定策で、PHPの公式な指針ではありません。少なくとも1人の研究者は2件のうち1件しか防げないと述べており、公式の修正版をインストールすることが唯一確認された対策です。
CVE番号は何ですか?
CERT-EUは、これらの脆弱性をCVE-2026-109618およびCVE-2026-109619として掲載しており、いずれもCVSS v4.0で9.2と評価されています。
サーバーで古いPHPを使っている場合はどうすればよいですか?
サポート終了版には公式の修正が提供されない見込みのため、セキュリティ企業は、サポート中のブランチへのアップグレード、またはVPNやWebアプリケーションファイアウォールの背後へのアクセス制限を推奨しています。
出典
- PHP php.announce #509: Upcoming Critical PHP Security Release (20 Oct 2026)
- PHP.net front page: news and security announcements
- PHP.net: Supported versions
- PHP manual: Session runtime configuration
- PHP manual: Session upload progress
- CERT-EU Security Advisory 2026-018: Critical Vulnerabilities in PHP
- Huntress: Rapid Response, php2shell leaked critical PHP vulnerabilities
- Sansec: Critical PHP RCE, CVE-2026-109618 and CVE-2026-109619
- Lilting: Disabling session.upload_progress before the php2shell patch lands
- W3Techs: Usage statistics of PHP for websites