こんにちは!SiiD代表エンジニアのセイトです。
先日Node.jsに脆弱性が見つかり、2026年10月21日に修正パッチが公開されました。
同じ日にPHPの脆弱性が見つかり、高市総理まで取り上げたそちらのニュースの陰で、正直あまり目立っていません。
ただ、Node.jsもNext.jsなどのWebアプリや、開発ツールの裏側で広く使われています。
こちらも早めに対応しておく必要があります。
とはいえ、Node.jsは、人によってはほとんどやることがありません。
そこでこの記事では、PHPの脆弱性の対処法と同じように、やることを次の3つのタイプ別にまとめました。
- 1ユーザーとして、Node.jsが使われているであろうサービスを使っている人
- Vercel・Netlifyなどでサイトやアプリを公開している人
- 開発用のPCでNode.jsを使っている人(npmやnpxでMCPサーバーなどを動かしている人も)
エンジニアでない人でも、なるべく専門知識がなくても対応できるように書いています。
Node.jsの脆弱性(2026年10月)で何が起きたのか
Node.js(JavaScriptをサーバーやPCで動かす仕組み)の本体に、深刻度「High」の脆弱性が4つ見つかりました。
- Brotli形式の圧縮データを展開する処理の不具合で、Node.jsが動いているサーバーやPCの上で好きなプログラムを動かされるおそれがある(CVE-2026-111497)
- HTTPS通信で「接続先が本物か」を確かめる仕組みを、IPアドレスの特殊な書き方や解釈のずれを突いて、すり抜けられる(CVE-2026-105483・CVE-2026-106069)
- Node.jsの
dns.resolve という機能で、NUL(特殊な制御文字)を含むドメイン名が途中で切れ、別の名前を調べてしまう(CVE-2026-105482)
深刻度は、PHPの脆弱性の「Critical」より一段低い「High」です。
公式の発表には、悪用されたという記載はありません。
ただし、PHPと違って、サーバーだけの問題ではありません。
Node.jsは開発用のPCでも、npmやMCPサーバーなどの裏で動いています。
HTTPSの2件と dns.resolve の件が起きるのは特殊な条件のときですが、外から届いたデータをNode.jsで扱う以上、開発用のPCも無関係とは言えません。
対策は、Node.js本体を修正版に上げることです。
- Node.js 26 → 26.12.1
- Node.js 24 → 24.22.1
- Node.js 22 → 22.23.4
20以前と、21・23・25はサポートが終わっているため、修正版は出ません。
22以上への更新が必要です。
Node.jsの脆弱性への対応方法は「どこでNode.jsが動いているか」で決まる

Node.jsを修正版に上げる作業は、Node.jsが動いている場所を管理している人がやります。
上の図で自分のタイプを見つけて、当てはまるところを読んでください。
AIで作ったアプリをVercelで公開している人のように、複数当てはまる人は、当てはまるものを全部読んでください。
Node.jsの脆弱性への対処法【タイプ1】1ユーザーとして、Node.jsが使われているであろうサービスを使っている
Node.jsを上げるのはサービス側の仕事です。
基本は何もしなくて大丈夫です。
ただ、どこかのサービスが被害に遭っても困らないように、普段の対策だけ見直しておきましょう。
- パスワードを使い回さない
- 2段階認証を有効にする
- 「脆弱性対応のためパスワードを再設定してください」というメールのリンクは踏まない
Node.jsの脆弱性への対処法【タイプ2】Vercel・Netlifyなどでサイトやアプリを公開している
Vercelは、Node.jsの修正版をサービス側が自動で適用します。
Netlifyも、以前のNode.jsの脆弱性のときは、サーバー側の処理(Functions)を自動で修正版に更新しています。
ただし、自動で上がるのは「22」「24」といった大きな番号(メジャーバージョン)の中だけです。
Node.js 20以前を指定したままだと、修正版は届きません(20以前には修正版が出ないため)。
Netlifyは、新しくデプロイすればFunctionsが自動で新しい版になりますが、古いデプロイを放置している場合は古いままです。
AWS_LAMBDA_JS_RUNTIME で20を指定しているなら、22以上に変えておきましょう。
Vercelでは、Node.js 20のまま公開したデプロイは、修正版の出ない20のまま今も動いています。
確認する場所はこちらです。
- Vercel:プロジェクトの Settings → Build and Deployment → Node.js Version と、package.jsonの
engines(こちらが優先されます) - Netlify:環境変数の
AWS_LAMBDA_JS_RUNTIME(Functions用。設定していれば、こちらが優先されます)と NODE_VERSION、プロジェクト直下の .nvmrc や .node-version
20以前になっていたら、22以上に変えてデプロイし直してください。
Node.jsの脆弱性への対処法【タイプ3】開発用のPCでNode.jsを使っている
AIでアプリを作っていてnpmやnpxを使っている人、MCPサーバーをnpxで動かしている人も、ここに入ります。
外から直接アクセスされるサーバーほど急ぎではありませんが、npmやnpx、MCPサーバーは外とやり取りしながら動くので、今週中には上げておきましょう。
まず、ターミナルで今のバージョンを確かめます。
表示された番号が v22.23.4、v24.22.1、v26.12.1 より古ければ更新します。
node -v
上げ方は、Node.jsを入れたときの方法で変わります。
- nvmで入れた人 →
nvm install 24 と nvm alias default 24(24の部分は、今使っている番号に合わせます。20以前なら24にします。Windows版のnvmは使い方が違うので、下のAIへの頼み方を使ってください) - Homebrewで入れた人 →
brew upgrade node(node@22・node@24で入れた人は brew upgrade node@22 のように番号を付けます) - 公式サイトのインストーラーで入れた人 → 公式サイトから最新版を入れ直す
Homebrewは、2026年10月22日2時の時点ではまだ修正版が反映されていませんでした。
反映されていなければ、数日おいてからもう一度 brew upgrade を実行します。
どの方法で入れたか覚えていない人は、Claude CodeなどのAIにこう頼めばOKです。
このPCのNode.jsを、今と同じ系の今回のセキュリティ修正版(22.23.4/24.22.1/26.12.1)に上げてください。
今が20以前なら24.22.1にしてください。
どの方法で入れたかを調べてから、その方法で上げ、最後に node -v で確認してください。
どの方法でも、上げたあとに新しいターミナルを開いて node -v を実行し、修正版の番号になっているか確かめてください。
Node.jsの脆弱性対応のついでに、自分で作ったアプリのセキュリティも点検する
今回はNode.js本体の脆弱性でしたが、ほかの部分は大丈夫といえそうですか?
- APIキーやパスワードが、GitHubやブラウザから見える場所に置かれていない
- URLの数字を変えても、他人のデータは見えない
- ログインしていない人は、管理用のページを開けない
1つでも自信がなければ、点検しておくのがおすすめです。
AIに貼るだけで、こうした項目を12個まとめて点検し、問題があれば直すところまで進められるプロンプトを用意しました。
僕の公式LINEではこれを無料で配っているので、よかったら使ってください。
SiiDの公式LINEを追加して「セキュリティ」と送ると、無料で受け取れます。
Node.jsの脆弱性(2026年10月)に関する出典
AIプログラミングスクール「SiiD」について
AIプログラミングスクール「SiiD」は、未経験からITエンジニア転職を目指す方向けのオンラインスクールです。
SiiDの特徴
- 現役エンジニアでYouTube登録者約13万人の「セイト先生」が代表兼主任講師
- 採用側の実務知見(2,000人以上の選考・150名以上のエンジニア採用)にもとづく指導
- 生成AIを取り入れた学習設計と、実務レベルのフルスタックWeb開発スキル
- Workship CAREER(株式会社GIG)と連携した無料の転職伴走支援
- 経済産業省認定のReスキル講座で、給付金の条件を満たせば実質105,600円〜
- 学割あり(35%オフ)
こんな方におすすめ
- 未経験・文系・社会人からITエンジニア転職を本気で目指したい方
- 独学に限界を感じている方
- 費用を抑えながら実務スキルと転職サポートを両立したい方
「未経験だから」とあきらめる必要はありません。採用する側を知り尽くしたプロが、給付金で負担を抑えながら内定まで伴走します。