2026年10月21日、PHPは「ログインなしで、サーバ上でプログラムを実行されるおそれがある」深刻度Critical(緊急)の脆弱性2件を、Node.jsは深刻度High(重要)4件を含む10件の脆弱性を修正した版を公開しました。PHPについては情報処理推進機構(IPA)が翌22日に注意喚起を出しています。修正内容の公開は、攻撃の手がかりになることもあります。この記事では公式発表をもとに出来事を整理し、立場ごとの対応をまとめます。
2026年10月21日に何が起きたか
PHP:Critical 2件、修正版は8.2〜8.5の各系列
PHPは、WordPressをはじめ多くのWebサイトでサーバ側の処理を担うプログラミング言語です。PHPの公式サイトは2026年10月21日、「Critical remote code execution vulnerabilities, update now(重大なリモートコード実行の脆弱性、今すぐ更新を)」と題したセキュリティ情報を掲載しました。IPAは、日本時間21日23時の公開予定を事前に告知していました。
| 項目 | 内容 |
|---|---|
| 脆弱性 | CVE-2026-109618(メモリ不足時の処理に起因)、CVE-2026-109619(リクエスト処理に関連)。IPAによれば、2件の組み合わせは「PHP2shell」と呼ばれています |
| 深刻度 | 2件ともCritical(CVSS v4 基本値 9.2) |
| 起こりうること | 遠隔の第三者が、認証なしでサーバ上のプログラムを実行できるおそれ |
| 修正版 | PHP 8.5.12 / 8.4.27 / 8.3.36 / 8.2.35 |
公式発表は、Webのリクエストを処理するすべてのPHP環境(PHP-FPM、Apacheのmod_php、php-cgi など)が対象になりうるとし、特にmod_phpでは、アプリのコードが動き出す前に攻撃が成立しうると述べています。IPAの事前告知(10月21日)の時点では、悪用した攻撃は確認されていません。一方でIPAは、PHPの脆弱性について2024年7月にも悪用に関する注意喚起を出したことに触れ、今回も悪用されるおそれがあるとしています。
注意:PHP 8.1以前は開発元のサポートが終了しており、正式な修正版は出ません(PHPのセキュリティチームは、ソースから自分でビルドする人向けに7.4〜8.1用の最小限の修正を公開しています)。サーバ会社が独自に対応している場合もあるので確認してください。なお8.2も2026年12月31日でサポート終了予定です。
Node.js:High 4件を含む10件、修正版は22・24・26の各系列
Node.jsは、JavaScriptをサーバやパソコン上で動かすための実行環境で、Webアプリ開発やプログラミング学習で広く使われています。Node.jsは2026年10月21日付でセキュリティリリースを公開しました。今回いちばん重い深刻度はHighで、Criticalはありません。
| 項目 | 内容 |
|---|---|
| 件数 | 10件(High 4件・Medium 3件・Low 3件) |
| 主な内容 | 圧縮データ(Brotli)の展開処理での範囲外書き込み(遠隔コード実行につながりうる)、IPアドレスの書き方などでTLS証明書による通信相手の確認をすり抜けられる問題など |
| 修正版 | Node.js 26.12.1 / 24.22.1 / 22.23.4 |
Node.jsの発表は「サポートが終了した版(End-of-Life)は、セキュリティリリースのたびに常に影響を受ける」と明記しています。サポート中の系列へ移ることが前提です。
同じ時期に出たほかの更新
2026年10月中旬には、ほかにも広く使われるソフトの重要な更新が続きました。IPAや開発元の公式発表で確認できたものを挙げます。
- Microsoft製品(10月14日・日本時間):IPAは、Microsoftが悪用の事実を確認済みと公表している脆弱性(CVE-2026-96951)が含まれるとして、至急の更新を呼びかけています。Windows Updateで適用します。
- Oracle Java(10月21日・日本時間):IPAは Java SE 27、21.0.12.1、17.0.20.1、8 Update 503 などを対象として挙げ、最新版への早急な更新を呼びかけています。
- Next.js(10月14日):Reactで作るWebアプリの枠組みです。認証なしでのリモートコード実行につながるCritical 2件などを修正した 16.4.1 / 15.5.28 が公開されました。
脆弱性・CVE・CVSSとは
ニュースに出てくる用語は、情報Iやパスポート試験で学ぶ内容とそのまま重なります。
- 脆弱性(ぜいじゃくせい):プログラムの欠陥のうち、悪用されると情報漏えいや乗っ取りなどの被害につながるもの。セキュリティホールとも呼ばれます。
- CVE:公開された脆弱性に付けられる世界共通の識別番号(例:CVE-2026-109618)。番号で呼ぶことで、どの開発元・どの国の情報でも同じ問題を指せます。
- CVSS:脆弱性の深刻度を0.0〜10.0の数値で表す共通の評価基準。今回のPHPの2件は9.2で、最も重い区分(Critical)に入ります。
- セキュリティパッチ(修正プログラム):脆弱性を直すための更新。今回のPHP 8.4.27やNode.js 24.22.1のような「修正版」がこれに当たります。
なぜ「すぐ更新」なのか
一般に、修正内容が公開されると、修正前後の違いが攻撃の手がかりになることがあります。PHPの開発元は「update now(今すぐ更新を)」と呼びかけ、IPAも公開前から「事前準備のお願い」を出しました。IPAは「攻撃者はこれらの脆弱性を悪用し、極めて短時間で攻撃を実行する可能性もある」として、修正の公表後、速やかに適用するよう求めています。
また、インターネットに公開しているサーバは、運営者が操作していない間も外部からアクセスを受けます。修正されていない版のまま公開し続けないことが大切です。
核心:更新は「不具合を直す作業」であると同時に、弱点が公表された後は「早めに済ませるほど安全な作業」です。
立場別にやること
ご家庭(パソコン・スマホを使う方)
- Windowsは「設定 → Windows Update」で更新を確認し、再起動まで済ませる(10月14日の更新に、悪用が確認された脆弱性の修正が含まれます)
- スマホ・タブレット・ブラウザは自動更新をオンにしておく
- Javaを自分で入れた覚えがあれば、最新版に更新するか、使っていなければアンインストールを検討する
ホームページを運営している事業者
- WordPressなら「ツール → サイトヘルス → 情報 → サーバー」で、PHPのバージョンを確認する(WordPress公式ブログが案内している確認方法です)
- 使っている系列の修正版(8.5系→8.5.12、8.4系→8.4.27、8.3系→8.3.36、8.2系→8.2.35)より古ければ、レンタルサーバの管理画面やサーバ会社の案内で更新状況を確認する。WordPress公式は、今回のPHPの脆弱性についてWordPress本体の更新は不要で予定もないとしています
- PHP 8.1以前を使っている場合は、サポート中の版への移行が必要です(8.2も2026年12月31日でサポート終了予定)。古いプラグインやテーマが新しいPHPで動かないこともあるため、移行前にバックアップを取り、制作会社やサーバ会社に相談するのが確実です
プログラミングを学んでいる人
- ターミナルで
node -vを実行し、22.23.4 / 24.22.1 / 26.12.1 以上か確認する - PHPを入れている人は
php -vで同様に確認する - 練習用に公開したサーバやアプリを放置しない。使わなくなったものは止める
松山の事業者・学習者への翻訳
個人商店や小規模な事業所のホームページは、レンタルサーバ上でWordPressを使って作られていることがよくあります。こうしたサイトでは、PHPの更新が「サーバ会社任せ」なのか「自分で切り替える」のかが契約によって異なり、管理を引き継いだ人がそれを知らないことも少なくありません。まずは自分のサイトのPHPのバージョンと、更新を誰が担当しているかを確かめることから始めてください。
高校生にとっては、情報Iの「情報セキュリティ」や、ITパスポート試験の「脆弱性」「セキュリティパッチ」を、実際のニュースで確かめられる機会です。教科書の用語が、現実の発表文の中でどう使われているかを読んでみると、知識が具体的になります。
ソートアップでの取り組み
学習塾ソートアップの塾長は元ソフトウェアエンジニアで、ITパスポートや情報Iの指導では、こうした実際のセキュリティのニュースを題材に、用語の意味と「なぜそうするのか」をあわせて説明するようにしています。無料体験授業で実際の指導スタイルをご確認いただけます。
よくある質問
スマホやパソコンを使っているだけでも関係がありますか?
今回のPHPとNode.jsの脆弱性は、主にWebサーバやアプリを動かす側の問題で、サイトを見るだけなら自分で更新する必要は通常ありません。使っているアプリや機器は、提供元の更新案内に従ってください。ただし同じ時期にMicrosoft製品の重要な更新も出ているため、Windows Updateやスマホの更新は確認しておくと安心です。
WordPressを使っていますが、WordPress本体の更新が必要ですか?
WordPress公式ブログは、今回のPHPの脆弱性についてWordPress本体の更新は不要で、予定もないと案内しています。必要なのはサーバ側のPHPの更新です。サイトヘルスの画面でPHPのバージョンを確認し、サーバ会社の対応状況を確かめてください。
レンタルサーバなら自動で更新されますか?
サーバ会社や契約内容によって異なります。同じ系列内の更新を自動で行う会社もあれば、利用者が管理画面で切り替える必要がある場合もあります。サーバ会社のお知らせや管理画面で、実際のバージョンを確認することをおすすめします。
Node.jsはどのバージョンを使えばよいですか?
サポート中の系列の最新版を使います。2026年10月21日の時点では、26系なら26.12.1、24系なら24.22.1、22系なら22.23.4以上です。授業や教材で特定の系列が指定されている場合は、その系列の最新版に更新してください。
参考資料
- The PHP Group「Security advisory: Critical remote code execution vulnerabilities, update now」(2026年10月21日)php.net
- PHP Security Advisories GHSA-w8hw-w9fx-j79w / GHSA-6wmf-4rv5-p3rp github.com/php/php-src
- IPA「【事前準備のお願い】PHPのセキュリティリリース公開予定について」(2026年10月21日)、「PHPの脆弱性対策について(CVE-2026-109618、CVE-2026-109619:PHP2shell)」(2026年10月22日)ipa.go.jp
- Node.js「October 2026 Security Releases」nodejs.org
- WordPress.org「Critical PHP security release」(2026年10月21日)wordpress.org
- IPA「Microsoft 製品の脆弱性対策について(2026年10月)」(2026年10月14日)、「Oracle Java の脆弱性対策について(2026年10月)」(2026年10月21日)
- Vercel「Next.js Security Update for Upstream Vulnerabilities」(2026年10月14日)nextjs.org