Node.jsプロジェクトは2026年6月18日(木)、公式セキュリティアドバイザリで、サポート対象の22.x・24.x・26.xの各リリースラインに対するセキュリティリリースを公開しました。今回のリリースでは合計12件の脆弱性が修正されており、
うち2件が「HIGH(高)」評価、8件が「MEDIUM(中)」評価、3件が「LOW(低)」評価です。最も深刻なHIGH評価の2件は、WebCrypto実装におけるAES整数オーバーフローによるリモートプロセスアボート(DoS)(CVE-2026-48933)と、Unicodeのドット区切り文字処理に起因するTLSワイルドカード認証バイパス(CVE-2026-48618)です。
このほか、プロキシ認証情報のエラーメッセージ漏洩・HTTP/2クライアントでの無制限メモリ増加・mTLS(相互TLS)における大文字小文字の不一致を悪用した認可バイパスなど、TLS・HTTP/2関連の脆弱性が多数を占めています。今回のリリースには、llhttp(9.4.2)・nghttp2(1.69.0)・OpenSSL(3.5.7)・undiciといった主要な依存ライブラリの更新も含まれています。本記事ではNode.js公式アドバイザリの全文をもとに、修正された全12件の脆弱性・影響バージョン・対応手順を解説します。
サマリー
- リリース日:2026年6月18日(木)
- 対象リリースライン:Node.js 22.x・24.x・26.x(すべてのサポート対象バージョン)
- 修正された脆弱性の総数:12件
- 最高深刻度:HIGH(22.x・24.x・26.xいずれも最高深刻度はHIGH)
- 修正バージョン:v22.23.0・v24.17.0・v26.3.1
- 同時に更新された依存ライブラリ:
- llhttp:9.4.2(全リリースライン)
- nghttp2:1.69.0(全リリースライン)
- OpenSSL:3.5.7(全リリースライン)
- undici:8.5.0(26.3.1)・7.28.0(24.17.0)・6.27.0(22.23.0)
- HIGH評価(2件):CVE-2026-48933(WebCrypto AES整数オーバーフロー)・CVE-2026-48618(TLSワイルドカード認証バイパス)
- MEDIUM評価(8件):CVE-2026-48615・CVE-2026-48619・CVE-2026-48937・CVE-2026-48928・CVE-2026-48930・CVE-2026-48934
- LOW評価(4件):CVE-2026-48617・CVE-2026-48935・CVE-2026-48936・CVE-2026-48931
- EOL(サポート終了)バージョンも今回の脆弱性の影響を受けるため、最新バージョンへの移行が強く推奨される
目次
- 1 HIGH評価の脆弱性(2件)
- 2 MEDIUM評価の脆弱性(8件)
- 2.1 CVE-2026-48615:プロキシトンネルのエラーメッセージにおけるプロキシ認証情報の漏洩
- 2.2 CVE-2026-48619:HTTP/2クライアントにおける無制限メモリ増加(ORIGINフレーム経由)
- 2.3 CVE-2026-48937:GOAWAY後のHTTP/2セッションのクリーンアップ漏れ
- 2.4 CVE-2026-48928:大文字SNIコンテキストマッチングによるmTLS認可バイパス
- 2.5 CVE-2026-48930:埋め込みNULホスト名による無言の権限再バインディング
- 2.6 CVE-2026-48934:セッション再利用によるTLSホスト識別検証バイパス(異なるservername使用時)
- 3 LOW評価の脆弱性(4件)
- 3.1 CVE-2026-48617:process.report.writeReport()のパス誤検証によるPermission Modelバイパス
- 3.2 CVE-2026-48935:Promises APIのFileHandle.utimes()によるPermission Modelバイパス
- 3.3 CVE-2026-48936:Unixドメインソケットサーバーによる--permissionネットワーク制限のバイパス(CVE-2026-21636の不完全な修正)
- 3.4 CVE-2026-48931:http.AgentにおけるTOCTOUレースコンディションによるHTTPレスポンスキューポイズニング
- 4 同時更新された依存ライブラリ
- 5 影響バージョンの全体像
- 6 対応手順
- 7 FAQ
- 8 参考情報
HIGH評価の脆弱性(2件)
CVE-2026-48933:WebCrypto AES整数オーバーフローによるリモートDoS
Node.jsの公式アドバイザリによれば「Node.js WebCrypto実装の欠陥により、subtle.encrypt()への入力が2GiBの倍数である場合にプロセスがクラッシュする可能性がある」とされています。
WebCryptoはブラウザ標準の暗号化API(Web Crypto API)をNode.js上で実装したものであり、暗号化処理を行うアプリケーションに広く使用されています。攻撃者が特定サイズの入力をsubtle.encrypt()へ渡すことで、リモートからNode.jsプロセスをクラッシュさせるサービス拒否(DoS)攻撃が可能になります。
- 影響バージョン:Node.js 22・24・26(すべてのサポート対象リリースライン)
- 報告者:erichen氏
- 修正者:Filip Skokan氏
CVE-2026-48618:Unicodeドット区切り文字処理によるTLSワイルドカード深度認証バイパス
公式アドバイザリは「Node.jsのTLSホスト名処理の欠陥により、リゾルバ(resolver)とベリファイア(verifier)のホスト名正規化の不一致に起因するTLSワイルドカード深度認証バイパスが発生する可能性がある」と説明しています。これは特定の構成下において機密性への影響、または意図されたセキュリティ境界のバイパスにつながる可能性があります。
TLS証明書のワイルドカード(*.example.com等)検証ロジックにおいて、Unicode文字を使ったドット区切りの扱いに一貫性がないことが原因とされており、攻撃者が本来到達できないはずのホストへの接続を偽装できる可能性があります。
- 影響バージョン:Node.js 22・24・26(すべてのサポート対象リリースライン)
- 報告者:tmeletlidis氏
- 修正者:Matteo Collina氏
MEDIUM評価の脆弱性(8件)
CVE-2026-48615:プロキシトンネルのエラーメッセージにおけるプロキシ認証情報の漏洩
プロキシURLに認証情報が埋め込まれている場合、ERR_PROXY_TUNNELエラーメッセージを通じてこれらの認証情報が露出し、ログ・診断ツール・その他のエラー処理経路によって捕捉される可能性があります。
- 影響バージョン:Node.js 22・24・26
- 報告者:nssys氏/修正者:Matteo Collina氏
CVE-2026-48619:HTTP/2クライアントにおける無制限メモリ増加(ORIGINフレーム経由)
Node.jsのHTTP/2クライアント実装の欠陥により、サーバー側が無制限の数のORIGINフレームを送信できてしまい、クライアント側でメモリ不足(OOM)エラーを引き起こす可能性があります。
- 影響バージョン:Node.js 22・24・26
- 報告者:kingsd氏/修正者:Matteo Collina氏
CVE-2026-48937:GOAWAY後のHTTP/2セッションのクリーンアップ漏れ
Node.jsのHTTP/2サーバーAPIの欠陥により、サーバーがGOAWAYフレーム(接続終了通知)を送信した後でも、データの受け入れを継続してしまう問題です。
- 影響バージョン:Node.js 22・24(26.xは対象外)
- 報告者・修正者:Tim Perry氏
CVE-2026-48928:大文字SNIコンテキストマッチングによるmTLS認可バイパス
ホスト名照合における大文字小文字の取り扱いの不一致により、マルチコンテキストmTLS(相互TLS)構成において信頼ポリシーのバイパスが発生する可能性があります。securityonline.infoはこのCVEを「critical(重大)」と報じていますが、Node.js公式アドバイザリでは「medium(中)」評価です。
- 影響バージョン:Node.js 22・24・26
- 報告者:tmeletlidis氏/修正者:Matteo Collina氏
CVE-2026-48930:埋め込みNULホスト名による無言の権限再バインディング
リゾルバのバインディングにおけるCスタイル文字列の切り詰め処理により、NUL文字を埋め込んだホスト名が無言で(エラーなく)権限の再バインディングを引き起こす可能性があります。
- 影響バージョン:Node.js 22・24・26
- 報告者:tmeletlidis氏/修正者:Matteo Collina氏
CVE-2026-48934:セッション再利用によるTLSホスト識別検証バイパス(異なるservername使用時)
Node.jsのTLSホスト検証の欠陥により、攻撃者が証明書検証をバイパスし、未承認の接続を確立できる可能性があります。
- 影響バージョン:Node.js 22・24・26
- 報告者:3d7omb氏/修正者:Matteo Collina氏
LOW評価の脆弱性(4件)
CVE-2026-48617:process.report.writeReport()のパス誤検証によるPermission Modelバイパス
Node.jsのPermission Model(パーミッションモデル)の強制機能の欠陥により、process.report.writeReport()のパス誤検証を通じたバイパスが可能になる場合があります。
- 影響バージョン:Node.js 22・24・26
- 報告者:suul氏/修正者:RafaelGSS氏
CVE-2026-48935:Promises APIのFileHandle.utimes()によるPermission Modelバイパス
--allow-fs-read等で読み取り専用に設定されたパスであっても、FileHandle.utimes()を通じてファイルメタデータが変更されてしまう可能性があります。
- 影響バージョン:Node.js 22・24・26
- 報告者:muhammaddaffa氏/修正者:RafaelGSS氏
CVE-2026-48936:Unixドメインソケットサーバーによる--permissionネットワーク制限のバイパス(CVE-2026-21636の不完全な修正)
Permission APIの欠陥により、--allow-net権限がない状態でも、Unixドメインソケットを介したローカルサーバーが起動できてしまう可能性があります。これは過去のCVE-2026-21636修正の不完全性に起因するものです。
- 影響バージョン:Node.js 26のみ
- 報告者:cyberjoker氏/修正者:RafaelGSS氏
CVE-2026-48931:http.AgentにおけるTOCTOUレースコンディションによるHTTPレスポンスキューポイズニング
Node.jsのHTTP Agentの欠陥により、クライアントがリクエストを送信する前に送られてきたレスポンスを、有効なものとして受け入れてしまう可能性があります。
- 影響バージョン:Node.js 22・24・26
- 報告者:yushengchen氏/修正者:Matteo Collina氏
同時更新された依存ライブラリ
今回のセキュリティリリースには、公開済みの脆弱性に対応するための依存ライブラリの更新も含まれています。
| ライブラリ | バージョン | 対象リリースライン |
|---|---|---|
| llhttp | 9.4.2 | 全リリースライン |
| nghttp2 | 1.69.0 | 全リリースライン |
| OpenSSL | 3.5.7 | 全リリースライン |
| undici | 8.5.0 | 26.3.1 |
| undici | 7.28.0 | 24.17.0 |
| undici | 6.27.0 | 22.23.0 |
OpenSSL 3.5.7への更新は、当サイトが既報したOpenSSLの脆弱性(CVE-2026-45447)を含む、OpenSSL自体の上流の修正を取り込むものである可能性があります。
影響バージョンの全体像
| 脆弱性のカテゴリ | 影響を受けるバージョン |
|---|---|
| 大半のCVE(10件) | Node.js 22・24・26のすべて |
| CVE-2026-48937 | Node.js 22・24のみ(26は対象外) |
| CVE-2026-48936 | Node.js 26のみ |
注意:EOL(サポート終了)バージョンを使用している場合も、今回のセキュリティリリースの対象として影響を受けます。 Node.js公式は「システムの安全性を確保するため、リリーススケジュールに記載された最新のサポートバージョンを使用してください」と明記しています。
対応手順
① 現在のNode.jsバージョンを確認
node -v
バージョンが以下の修正版未満の場合はアップデートが必要です。
Node.js 22.x → v22.23.0 未満
Node.js 24.x → v24.17.0 未満
Node.js 26.x → v26.3.1 未満
② 最新の修正版へのアップデート
# nvmを使用している場合
nvm install 22.23.0 # または該当するメジャーバージョンの最新版
nvm install 24.17.0
nvm install 26.3.1
# パッケージマネージャー経由の場合は各ディストリビューションの手順に従う
③ TLS・mTLS関連のシステムを優先確認
CVE-2026-48618(TLSワイルドカード認証バイパス)・CVE-2026-48928(mTLS認可バイパス)・CVE-2026-48934(TLSホスト識別検証バイパス)など、TLS関連の脆弱性が複数含まれているため、相互TLS(mTLS)を使用したマイクロサービス間通信・証明書検証に依存するシステムは特に優先的に確認してください。
④ HTTP/2を使用しているサービスの確認
CVE-2026-48619(無制限メモリ増加)・CVE-2026-48937(GOAWAY後のクリーンアップ漏れ)はいずれもHTTP/2関連の脆弱性です。HTTP/2を有効にしているサーバー・クライアントは特に確認が必要です。
⑤ Permission Modelを使用している環境の確認
Node.js 20以降で導入された実験的な「Permission Model」(--permissionフラグ)を使用してサンドボックス化を行っている環境では、CVE-2026-48617・CVE-2026-48935・CVE-2026-48936のバイパス手法を踏まえ、Permission Model単体に過度に依存しない多層防御を検討してください。
⑥ 依存ライブラリの確認
llhttp・nghttp2・OpenSSL・undiciはNode.js本体に組み込まれているため、Node.js本体のアップデートにより自動的に更新されます。別途これらのライブラリを単体でインストールして使用している場合は、個別にバージョンを確認してください。
FAQ
Q. 今回のCVEで積極的な悪用(in-the-wild exploitation)は確認されていますか? A. Node.js公式アドバイザリには悪用報告に関する記載はありません。本記事執筆時点で野生での悪用は確認されていません。
Q. securityonline.infoの記事と内容が異なる部分があるのはなぜですか? A. securityonline.info(2026年6月18日付記事)はCVE-2026-48933・CVE-2026-48618・CVE-2026-48615・CVE-2026-48619・CVE-2026-48928・CVE-2026-48930・CVE-2026-48617・CVE-2026-48935・CVE-2026-48936の9件のみを取り上げ、CVE-2026-48937・CVE-2026-48934の2件が記載から漏れていました。また同記事はCVE-2026-48928を「critical」と記載していましたが、Node.js公式アドバイザリでは「medium」評価です。本記事はNode.js公式アドバイザリの全文(計12件)を一次ソースとして正確な内容を反映しています。
Q. EOL(サポート終了)バージョンを使い続けても大丈夫ですか? A. 推奨されません。Node.js公式は「EOLバージョンは常に今回のようなセキュリティリリースの影響を受ける」と明記しており、最新のサポート対象バージョンへの移行が必要です。








