2026年10月21日から22日にかけて、PHP・Node.js・Pythonで立て続けに修正版が出ました。独学で勉強している人にとって「自分は関係あるのか」が分かりにくい話なので、確認する手順だけを書きます。
3つは性質がまったく違います。まとめて「脆弱性ラッシュ」と扱うと、やるべきことを間違えます。
PHP:遠隔から任意のコードを実行されうる(最も深刻)
IPAが2026年10月22日に注意喚起を出しています。2件の脆弱性で、組み合わせて「PHP2shell」と呼ばれています。
- CVE-2026-109618:メモリ不足(OOM)のエラー処理に起因する脆弱性
- CVE-2026-109619:リクエスト処理に関連する脆弱性
悪用されると遠隔の第三者による任意のコード実行の恐れがあるとされています。
修正版は 8.2.35 / 8.3.36 / 8.4.27 / 8.5.12 です。影響を受けるのは、それぞれより前のバージョンです。
重いのはここです。調査に関与したWiz社によれば、PHP 5.4以降のバージョンは少なくとも一方の影響を受けるとされています。そしてPHP 8.1以前はサポート終了(End of life)で、今回の修正プログラムは提供されません。
確認はこれだけです。
php -v「自分はPHPを書いていない」人も無関係ではありません。レンタルサーバーで動かしているWordPressやEC-CUBEはPHPで動いています。契約しているサーバーの管理画面でPHPのバージョンを確認して、古ければ切り替えてください。
Node.js:Brotliデコーダの不具合でRCEの可能性
2026年10月21日に、10件のCVEをまとめた修正版が出ました。対象は26.x・24.x・22.xの各系統です。
修正版は v22.23.4 / v24.22.1 / v26.12.1 です。
公式アドバイザリが深刻度 high としているもののうち、見出しになっているのがこれです。
- CVE-2026-111497:Brotliデコーダの範囲外書き込み。不正な圧縮入力により内部のバッファを超えて書き込まれ、クラッシュ・メモリ漏えい・リモートコード実行につながる可能性がある
- CVE-2026-105482:
dns.resolve*()がNUL文字を含むホスト名を黙って切り詰める - CVE-2026-105483:全角数字で書かれたIPアドレスに対し、TLS証明書の照合先を取り違える
- CVE-2026-106069:先頭ゼロ付きIPv4で、URL解釈とOSのリゾルバの解釈が食い違う
確認はこれです。
node -v証明書の照合に関わるものが3件入っている点に注意してください。「全角数字のIPアドレス」や「先頭ゼロ付きIPv4」は、普通に書いていれば出てこない形です。つまりこちらが意図していない入力を外から渡されたときに問題になる種類の不具合です。外部から受け取ったURLにアクセスする処理を書いている場合は、優先して更新してください。
Python:これはCVEではなく、認証局側の問題
ここを混同している記事が多いので、分けて書きます。
2026年10月21日に 3.15.1 / 3.14.9 / 3.13.17 が出ました。リリースページには「expedited security release(前倒しのセキュリティリリース)」と書かれていますが、CVE番号は記載されていません。
中身は、同梱されている pip を 26.2.2 に更新し、そこに含まれる certifi を 2026.10.19 にすることです。目的はeMudhra / emSign CA の証明書に関するセキュリティインシデントへの対応と明記されています。
つまりPythonのコードに穴が空いたのではなく、信頼していた認証局の側で問題が起きたので、信頼する証明書の一覧を差し替えたという話です。
独学で勉強している人に一番関係があるのは、実はこの件です。
python3 -V
python3 -m pip --versionブラウザを更新しても pip は直りません。pipは自分が同梱している証明書の束(certifi)を見ていて、OSやブラウザの設定とは別系統です。Pythonを入れ替えない場合は、pip と certifi だけを個別に更新する方法もあります。
python3 -m pip install --upgrade pip certifiなお9月30日から10月1日にも 3.12.15 / 3.11.17 / 3.10.22 が出ています。こちらにSSL関連の深刻な修正が含まれるという報道がありますが、CVE番号を公式ページで確認できなかったため、本記事では断定しません。3.10のセキュリティ修正サポートは2026年10月に終わる予定とされているので、3.10を使っている人は移行を考える時期です。
独学中の人がやるべきこと(3分)
難しい判断は要りません。手元で3つ打つだけです。
php -v
node -v
python3 -V出てきた番号を、上に書いた修正版と見比べてください。入っていないものは「未インストール」であって、問題ありません。勉強で使っていないなら気にしなくていいです。
そして、自分のPCで勉強している分には、外から攻撃される経路がそもそもありません。急いで対応が必要なのは、外部に公開しているサーバーで動かしている場合です。レンタルサーバーやVPSで何か動かしている人は、そちらを先に見てください。
毎日動かしているものがあるなら
私はスクレイピングや自動投稿を毎日動かしているので、こういう更新のたびに「どのサーバーで何のバージョンが動いているか」を確認することになります。手元のPCだけで勉強している段階では起きない作業です。
逆に言えば、作ったものを常時動かし始めた時点から、こうした更新作業が付いてきます。定期実行を始めるときは、動かす場所を決めるのと一緒に「誰がバージョンを上げるのか」も決めておくと後が楽です。共有のレンタルサーバーならサーバー会社が上げてくれる範囲が広く、VPSなら自分で全部やることになります。
関連する選択肢
毎日決まった時刻にスクリプトを動かすだけなら、共有のレンタルサーバーでも足ります。cronが使えるプランを選べば、自分でOSを管理する必要はありません。
※ 広告を含みます(A8.net)。リンク経由でお申し込みがあった場合、手数料を受け取ることがあります。
出典
- IPA「PHPの脆弱性対策について(CVE-2026-109618、CVE-2026-109619:PHP2shell)」2026年10月22日公開
https://www.ipa.go.jp/security/security-alert/2026/alert20261022.html - Node.js「October 2026 Security Releases」2026年10月21日
https://nodejs.org/en/blog/vulnerability/october-2026-security-releases - Python「Python 3.14.9」リリースページ 2026年10月21日
https://www.python.org/downloads/release/python-3149/ - Python「Downloads」(各系統の最新版とリリース日)
https://www.python.org/downloads/
本記事の数値・バージョン番号は、上記の各公式ページを2026年10月25日に参照して確認したものです。確認できなかった事項は本文中で「断定しない」と明記しています。