JavaScript・Node.jsの脆弱性情報まとめ

2026.11.01 22:23 更新 Node.js本体とnpmの主要パッケージ(2026年の公表とKEV掲載分)

更新日別の件数直近14日・深刻度別

新規公表と更新直近14日

新規公表 105件 / 更新 21件

深刻度×脆弱性の種類押すと絞り込み

脆弱性の種類緊急高中低未評価
XSS・インジェクション11356–
認証・認可の回避110112–
サービス停止(DoS)–1472–
コード実行471––
情報の漏えい–14––
SSRF・リダイレクト–31––
ファイルの読み取り・上書き––11–
その他21487–

JavaScriptの脆弱性は、Node.js本体と、npmで入れるパッケージで確かめ方が違います。npm auditはパッケージだけを調べるので、本体は番号で判断します。ここでは今確かめたい脆弱性、Node.jsのサポート期限、自分の環境が対象かを確かめる手順をまとめます。

このページの要点
  • Node.jsのBrotliの件(KEV掲載)は本体の更新でしか直りません。22.23.4/24.22.1/26.12.1以上に上げます。
  • Node.js 20は2026年4月30日にサポートが終わりました。本番は24か26のLTSに上げます。
  • npm auditの結果に加え、本番で動いている版、Next.jsのnextの版、開発サーバーの公開も確かめます。

01JavaScript・Node.jsで今確かめたい脆弱性

2026年11月1日時点で、米CISAの悪用が確認された脆弱性の一覧(KEV)に載っているもの、深刻度が緊急のもののうち、Node.jsと利用者の多いパッケージに関わるものです。[1]

脆弱性・問題主な対象・条件修正・対応詳細
Brotliの展開処理(Node.js本体)
CVE-2026-111497・KEV 10月27日
node:zlibで外部から受け取ったBrotliのデータを展開する場合。Node.js 22・24・26系とサポート終了版。22.23.4/24.22.1/26.12.1以上。npmのパッケージ更新では直りません。[2]確認方法と修正版
Next.jsのリモートコード実行2件
GHSA-2464-fhr4-w9xw/GHSA-673q-mjm6-r5xr
画像最適化(glibcのLinuxで動かす場合)と、Cache Componentsのuse cache関数が型付き配列を返す場合。CVSS 4.0 9.5(Vercelの評価)。KEVには未掲載。15系は15.5.28、16系は16.4.1以上(10月15日公表)。画像最適化はsharp 0.35.5以上でも回避できると案内されています。[3][4]Vercelのアドバイザリ
React Server Componentsのリモートコード実行
CVE-2025-55182・KEV 2025年12月5日
react-server-dom-webpackなどの19.0.0・19.1.0・19.1.1・19.2.0。サーバーを使わないReactは対象外。19.0.1/19.1.2/19.2.1以上。その後もサービス停止の修正が続いたため、各系列の最新版に上げます。[5]GitHub Advisory
TanStackの不正な版の公開
CVE-2026-45321・KEV 5月27日
@tanstack/react-routerなど42パッケージで、2026年5月12日(日本時間)に不正な版が84件公開されました。インストールすると資格情報を盗むコードが実行されます。各パッケージの修正版に上げ、該当の版を入れた端末・CIの資格情報をすべて取り替えます。[6]TanStackのアドバイザリ
Viteの開発サーバーのファイル読み取り
CVE-2025-31125・KEV 2026年1月22日
--hostやserver.hostで開発サーバーをネットワークへ公開している場合。6.2.4/6.1.3/6.0.13/5.4.16/4.5.11以上。[7]GitHub Advisory
React Native CLIのコマンド実行
CVE-2025-11953・KEV 2026年2月5日
CLIが起動するMetroの開発サーバー。初期設定で外部のネットワークに待ち受けます。@react-native-community/cliとcli-server-apiを20.0.0/19.1.2/18.0.1以上。[8]GitHub Advisory

このほか、Magic LinkとOAuthを併用する構成のbetter-authの認証回避と、Vite 6.4.4のファイル読み取りの記事があります。

02Node.jsのサポート期限と更新先

Node.js公式は、本番では長期サポート版(LTS)だけを使うよう案内しています。[9]

系列状態(2026年11月1日)サポート終了上げる先
26(Lithium)LTS(10月28日から)2029年4月30日26.12.1以上(最新は26.13.0)
24(Krypton)保守のLTS(10月20日から)2028年4月30日24.22.1以上(最新は24.22.2)
22(Jod)保守のLTS2027年4月30日22.23.4以上。期限が近いので24か26へ
20(Iron)サポート終了2026年4月30日最終版は20.20.2。24か26へ
25・23以前の奇数版サポート終了25は2026年6月1日24か26へ

日付はNode.jsのリリース計画の値です。[10]サポート終了版はセキュリティ修正の告知でも「常に影響を受ける」と扱われ、修正版は出ません。[2]Node.js 27からは年1回の公開になり、すべての版がLTSになります。[9]

03npm audit・pnpm auditで依存関係の脆弱性を確かめる

npmの監査は、lockファイルにあるパッケージを既知の脆弱性と照らし合わせるもので、Node.js本体は見ません。本体はnode -vの番号を上の表と比べます。npmの監査は、初期設定ではpackage-lock.jsonかnpm-shrinkwrap.jsonが必要です。[11]

ターミナル
node -v
npm audit
npm audit --omit=dev        # 本番で入る依存だけ
npm audit --audit-level=high # high以上で終了コードを1にする(CI向け)
npm audit signatures         # 署名と出所の証明を確かめる

pnpmとYarn(2以降)は次のとおりです。pnpmの結果はCVEではなくGHSAの番号で出ます。[12]

ターミナル
pnpm audit
pnpm audit --prod
yarn npm audit --all --recursive

見つかったパッケージがどこから入っているかは、次のコマンドで確かめます。

ターミナル
npm ls next --all
npm explain react-server-dom-webpack
pnpm why vite
yarn why sharp

npm audit fix --forceはメジャーバージョンを上げることがあるので、変更の内容を見てから使います。直接入れていないパッケージは、package.jsonのoverrides(pnpmはpnpm.overridesなど、Yarnはresolutions)で版を固定できます。[13]

04自分の環境が対象かを確かめる手順

  1. 本番で動いている版を見る:手元のnode -vではなく、本番のコンテナやサーバーで確かめます。node:24のようなタグは、イメージを作り直すまで古い版のままです。docker run --rm <イメージ> node -vで実際の番号を見ます。
  2. Node.jsの組み込み部品は本体の番号で判断する:Brotliの修正版でもprocess.versions.brotliの表示は変わりません。[2]BunやDenoなど別の実行環境は、それぞれの告知を確かめます。
  3. lockファイルで正確な版を見る:package.jsonの^付きの範囲では、入っている版が分かりません。lockファイルとnpm lsで確かめ、CIではnpm ciを使ってlockファイルどおりに入れます。
  4. Next.jsはnextの版で判断する:App Routerはnextに組み込まれたReactを使うため、package.jsonのreactを上げても直りません。React Server Componentsの件でも、React公式はNext.jsの利用者にnextの更新を案内しています。[5]
  5. 開発用の依存も見る:ViteやMetroの件は開発サーバーの問題です。--omit=devの結果だけで判断せず、開発サーバーをネットワークへ公開していないかも確かめます。[7][8]
  6. 不正な版を入れていたら、更新では終わらない:TanStackの件では、該当の版をインストールした環境は侵害されたものとして扱い、資格情報を取り替え、クラウドの監査ログを確かめるよう案内されています。lockファイルに該当の版が残っていないかも見ます。[6]

05JavaScript / TypeScriptの解説記事

JavaScript / TypeScript公表 2026-10-21

Vite 6.4.4の脆弱性の確認方法、開発サーバーから.envを読み取られるおそれと6.4.5への更新(CVE-2026-118662)

Vite 6.4.4の脆弱性CVE-2026-118662は、ネットワークに公開した開発サーバーで、拒否したはずの.envなどを返すおそれがあります。10月6日の更新で6.4.4にした環境が対象になった理由、初期設定で条件がそろう点、Astro 5など間接の依存の確かめ方、6.4.5への上げ方を説明します。

JavaScript / TypeScript公表 2026-10-01

better-authの脆弱性、OAuthのstateをMagic Linkとして使われ他人としてサインインされるおそれ(CVE-2026-114607、修正は1.7.7)

認証ライブラリbetter-authの脆弱性CVE-2026-114607は、Magic LinkとOAuthを併用する構成で、OAuthのstateをMagic Linkのトークンに流用され、他人としてサインインされるおそれがあります。対象かを設定で見分ける方法、1.7.7への更新と段取りを説明します。

セキュリティ対策サービス一覧AIを悪用した攻撃への対策について、相談、リスクの診断、システムの改修を支援します。必要なものだけを選んで依頼できます。

よくある質問

npm auditが0件なら、Node.js本体も大丈夫ですか?

npm auditはパッケージだけを調べ、Node.js本体は対象にしません。Brotliの件のように本体の中の部品が原因のときは、本番で動いているNode.jsの番号を、修正版(22.23.4/24.22.1/26.12.1)と比べてください。

Next.jsを使っています。reactとnextのどちらを上げればよいですか?

nextを上げます。App Routerはnextに組み込まれたReactを使うので、reactの番号だけ上げても直りません。15系は15.5.28以上、16系は16.4.1以上に上げると、この表の件はまとめて直ります。

devDependenciesにある脆弱性は、後回しにしてよいですか?

本番に入らないものでも、開発サーバーをネットワークに公開していると対象になります。ViteとReact Native CLIの開発サーバーの件はKEVに載っています。社内のネットワークや共有の開発環境で開いていないかを確かめてから判断してください。

出典・参考資料

  1. 米CISA:Known Exploited Vulnerabilities Catalog(2026.10.30版)2026-10-30 / KEVへの追加日(CVE-2026-111497・CVE-2026-45321・CVE-2025-31125・CVE-2025-11953・CVE-2025-55182)
  2. Node.js:Wednesday, October 21, 2026 Security Releases2026-10-21 / Brotliの件の対象・修正版、サポート終了版の扱い
  3. Vercel:GHSA-2464-fhr4-w9xw(Image Optimization APIのRCE)2026-10-15 / 対象範囲、修正版15.5.28・16.4.1、sharp 0.35.5による回避、CVSS
  4. Vercel:GHSA-673q-mjm6-r5xr(use cache関数のRCE)2026-10-15 / 対象の条件、修正版16.4.1、回避策なし、CVSS
  5. React:Critical Security Vulnerability in React Server Components2025-12-03 / 対象パッケージと修正版、Next.jsの利用者の更新先(GHSA-fv66-9v8q-g76rと照合)
  6. TanStack:GHSA-g7cv-rxg3-hmpx2026-05-12 / 不正な版の範囲、インストール時の動作、資格情報の取り替えと監査ログの確認
  7. Vite:GHSA-4r4m-qw57-chr82025-04-01 / 開発サーバーを公開している場合の条件と修正版
  8. React Native Community:GHSA-399j-vxmf-hjvr2025-11-04 / Metroの開発サーバーの待ち受けと修正版
  9. Node.js:Node.js Releases2026-11-01確認 / 各系列の状態、本番はLTSを使う案内、Node.js 27からの公開の周期
  10. Node.js Release:schedule.json2026-11-01確認 / 各系列のLTS・保守・サポート終了の日付
  11. npm Docs:npm audit2026-11-01確認 / 監査の仕組み、lockファイルの要件、--omit・--audit-level・signatures
  12. pnpm:pnpm audit2026-11-01確認 / --prodなどのオプションとGHSAの番号での表示
  13. npm Docs:package.json(overrides)2026-11-01確認 / 間接的な依存の版の固定