この変更が意味すること
Node.js v26.3.1 が2026年6月18日にリリースされました。これはセキュリティリリースであり、機能追加は含まれていません。同日、LTSラインである v24.17.0 と v22.23.0 も同時にリリースされており、全アクティブブランチへの対応が求められます。
修正されたCVEは少なくとも10件で、うち2件が**高深刻度(High)**に分類されています。TLS のホスト名検証や WebCrypto の出力バッファ長チェックといった暗号・通信の基盤部分に影響する脆弱性が含まれており、インターネットに公開しているNode.jsサーバーでは特に早急な対応が必要です。
主な変更点
CVE-2026-48618(High)— TLS: ホスト名のサーバーID検証における正規化処理の不備
tls モジュールにおいて、サーバーIDチェック時のホスト名正規化が不十分な場合があった問題を修正しました。細工されたホスト名によるIDチェックのバイパスを防止します。
Contributed by Matteo Collina
CVE-2026-48933(High)— crypto: WebCrypto暗号化の出力バッファ長ガード
crypto モジュールの WebCrypto 実装において、暗号化処理の出力バッファ長チェックが不十分だった問題を修正しました。バッファオーバーフロー系の攻撃を防止します。
Contributed by Filip Skokan
CVE-2026-48615(Medium)— lib: トンネルエラー時のプロキシ認証情報のリダクション
トンネル(HTTP CONNECT)を経由したリクエストがエラーになった場合、エラーメッセージにプロキシ認証情報が含まれる可能性があった問題を修正しました。
Contributed by Matteo Collina
CVE-2026-48619(Medium)— http2: originSetの無制限メモリ増加を上限設定で防止
HTTP/2 の originSet が無制限に増加することでメモリを消費し続ける可能性があった問題に上限を設定しました。
Contributed by Matteo Collina
CVE-2026-48928(Medium)— tls: SNIコンテキストマッチングの大文字小文字区別を修正
TLS の SNI(Server Name Indication)コンテキストの選択において、ホスト名の大文字小文字区別が正しく行われていなかった問題を修正しました。
Contributed by Matteo Collina
CVE-2026-48930(Medium)— dns,net: NULバイトを含むホスト名の拒否
DNS解決やネットワーク接続時に、NULバイト(\0)を含むホスト名が受け入れられてしまう問題を修正しました。
Contributed by Matteo Collina
CVE-2026-48934(Medium)— tls: 再利用可能なセッションを認証済みホストへバインド
TLSセッション再利用の際、セッションが認証済みホストに適切にバインドされていなかった問題を修正しました。
Contributed by Matteo Collina
CVE-2026-48617(Low)— permission: process.chdir とwritereportの処理
permission モデルが有効な環境での process.chdir 実行時における writereport への影響を修正しました。
Contributed by RafaelGSS
CVE-2026-48931(Low)— http: http.Agentでのレスポンスキューポイズニングを修正
http.Agent において、レスポンスキューが汚染される可能性があった問題を修正しました。
Contributed by Matteo Collina
CVE-2026-48935(Low)— permission: permissionモデル下でのFileHandle.utimesを無効化
permission モデルが有効な環境において、FileHandle.utimes の実行を無効化しました。
Contributed by RafaelGSS
EOL / サポート状況
| サイクル | 最新バージョン | LTS移行 | EOL |
|---|---|---|---|
| 26 (Current) | 26.3.1 | 2026-10-28 予定 | 2029-04-30 |
| 25 | 25.9.0 | - | 2026-06-01(EOL済み) |
| 24 (LTS) | 24.17.0 | 2025-10-28 | 2028-04-30 |
| 22 (LTS) | 22.23.0 | 2024-10-29 | 2027-04-30 |
Node.js 25 は2026年6月1日にEOLとなりました。 v25 を本番環境で使用している場合は、v24(LTS)または v26(Current)へ即時移行が必要です。
開発者への影響
- 全Node.jsユーザー(v22/v24/v26): 高深刻度CVE2件を含むセキュリティリリースです。使用バージョンに対応する最新のセキュリティ版へ今週中に更新してください
- TLS/HTTPS サーバー運用者: ホスト名検証(CVE-2026-48618)やSNI処理(CVE-2026-48928)、セッション再利用(CVE-2026-48934)に関する修正が含まれています。外部公開サーバーは特に優先度を上げて対応してください
- WebCrypto 利用者: 暗号化の出力バッファ長チェック(CVE-2026-48933)が修正されています。暗号処理を実装しているアプリケーションはアップデート後の動作確認を推奨します
- HTTP/2 サーバー運用者: originSetのメモリ増加(CVE-2026-48619)修正が含まれます
- Permission Model 利用者:
process.chdirおよびFileHandle.utimesの処理が変更されました。permission model を有効化している環境では動作確認してください - Node.js 25 利用者: EOL済みです。セキュリティ更新は提供されません。v24.17.0 または v22.23.0 へ即時移行が必要です
アップデート方法
# nvm — v26 (Current)
nvm install 26.3.1
nvm use 26.3.1
# nvm — v24 (LTS, 推奨)
nvm install 24.17.0
nvm use 24.17.0
# nvm — v22 (LTS)
nvm install 22.23.0
nvm use 22.23.0
# volta
volta install node@26.3.1
# または
volta install node@24.17.0
# fnm
fnm install 26.3.1
fnm use 26.3.1
# Docker
docker pull node:26.3.1
docker pull node:26-alpine
docker pull node:24.17.0
docker pull node:24-alpine
docker pull node:22.23.0
docker pull node:22-alpine
データソース: GitHub Releases API, endoflife.date AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。
