概要
リモートの Amazon Linux 2023 ホストに、セキュリティ更新プログラムがありません。
説明
したがって、ALAS2023-2026-3107 のアドバイザリに記載されている複数の脆弱性の影響を受けます。
undici の再試行ハンドラーは、すでに公開されている応答本文を、永久に保留のままにしておく可能性があります。サーバーが Content-Length を宣言し、本文の一部のみを送信し、接続を閉じる正常な応答を返す場合、再試行ハンドラーは要求を再試行します。再試行で再試行できない状態 (400 など) が返された場合、ハンドラーはその新しい応答を下流に転送し、その内部応答ストリームを置き換えますが、アプリケーションがまだ保持している元の応答本文は終了または破棄されません。その結果、その本文を読み取った呼び出しは決して解決されず、タイマーが孤立した本文ではなく接続パーサーに結び付けられているため、設定された本文タイムアウトは起動しません。攻撃者が制御するサーバーは、接続を開いたままにすることなく、2つの短い応答でこれをトリガーする可能性があり、リクエストを繰り返すことで保留中のプロミスやストリームが蓄積され、アプリケーションの同時実行性やメモリを使い果たす可能性があります。これは、 7.11.0 から 7.29.1 まで、 8.0.0 から 8.10.2 までの undici バージョンに影響を与えます。ユーザーは、undici 7.29.1 または 8.10.2 にアップグレードする必要があります。
(CVE-2026-18149)
Undici のリトライインターセプタは、元の応答のステータスとヘッダーを提示したまま、以前の部分的な応答からすでに配信されたバイトに、範囲付きリトライ応答の本文を追加できます。これは、Upstream サーバーが、信頼できる再開チェックポイントなしで本文の一部を配信した場合(例えば、ヘッダーが既に送信された不成功応答、あるいは使用できないコンテンツ範囲の部分的なコンテンツ応答など)を配信した後、接続を閉じて、再開された範囲リクエストにより多くのバイト数で応答する場合です。
その結果、応答本文は、アプリケーションが観察する Content-Length より長くなる可能性があります。フレーミングを正規化せずにそのような応答をダウンストリームの HTTP/1.1 ピアに中継するアプリケーションは、転送された Content-Length を超える本文を出す可能性があり、超過したバイトは後続の応答の開始と解釈され、ダウンストリームの応答の分割または同期解除が可能になります。
悪用するには、攻撃者がコントロールする Upstream サーバー、およびフレーミングに敏感なパスを通して応答を転送するアプリケーションが必要です。これは、 6.28.1 以前、 7.0.0 から 7.29.1、 8.0.0 から 8.10.2 までの undici バージョンに影響を与えます。ユーザーは、undici 6.28.1、 7.29.1、または 8.10.2 にアップグレードする必要があります。(CVE-2026-18540)
undici の WebSocket クライアントは、クライアントが一度もリクエストしていないサブプロトコルでサーバーが応答すると、オープニングハンドシェイク中に Node.js プロセス全体がクラッシュします。デフォルトの WebSocket 接続はサブプロトコルを送信しませんが、サーバーの 101 応答に Sec-WebSocket-Protocol ヘッダーが含まれていると、undici はリクエストされたリストと照合しながら null 値を逆参照し、キャッチされない TypeError をスローします。
そのコードは周囲のエラー処理なしでマイクロタスク内で実行されるため、例外は、WebSocketプロトコルで要求されているように正常に接続に失敗するのではなく、ノードのデフォルトの動作でプロセスを伝播して終了します。攻撃者の制御下にある、または危険にさらされているサーバーに WebSocket を開くか、中間マシンに基づき平文接続で WebSocket を開くアプリケーションは、デフォルト構成では認証なしでリモートでクラッシュする可能性があります。これは、 6.7.0 から 6.28.1、 7.0.0 から 7.29.1、 8.0.0 から 8.10.2 までの undici バージョンに影響を与えます。ユーザーは、undici 6.28.1、 7.29.1、または 8.10.2 にアップグレードする必要があります。(CVE-2026-19534)
undici の展開インターセプタは、信頼できない Content-Encoding ヘッダーに従って応答本文を展開します。コンテンツエンコーディングレイヤーの数には上限がありますが、展開された出力サイズの合計は無制限であり、それを制限する構成オプションはありません。このため、悪意のある、または障害のある上流が、クライアントメモリで数百メガバイト以上に拡張する小さな圧縮ペイロード、つまり圧縮爆弾を返す可能性があります。これは、メモリを使い果たしてプロセスをクラッシュさせる非対称のリソース消費です。これは、 7.15.0 から 7.29.1 まで、 8.0.0 から 8.10.2 までの undici バージョンに影響を与えます。ユーザーは、undici 7.29.1 または 8.10.2 にアップグレードする必要があります。(CVE-2026-84890)
undici のキャッシュインターセプタは、キャッシュパスのどこかの場所で Set-Cookie 応答ヘッダーを処理しません。このため、そのヘッダーの保存を拒否することもストリップもしません。共有キャッシュモード(デフォルト)では、Set-Cookieヘッダーを持つキャッシュ可能な応答(たとえば、publicおよびmax-ageディレクティブでマークされたもの)が保存され、同じキャッシュキーに一致する後の呼び出し元に再提供されます。その結果、1 つの呼び出し元のクッキーが別の呼び出し元に漏洩し、信頼できないサーバーが、その後の呼び出し元すべてに提供されるキャッシュされた応答にクッキーを注入する可能性があります。これは、共有キャッシュがクッキーを保存してはならないという要件に違反します。これは、 7.0.0 から 7.29.1 まで、 8.0.0 から 8.10.2 までの undici バージョンに影響を与えます。
ユーザーは、undici 7.29.1 または 8.10.2 にアップグレードする必要があります。(CVE-2026-84933)
Undici のダンプインターセプタは、設定可能な最大サイズまで応答本文を読み込み、破棄します。応答が最大値を超える Content-Length を宣言すると、インターセプタは正常に中止しますが、応答に Content-Length がなくチャンクされた場合、インターセプタは、リクエストを一時停止または中止することなく、累積サイズが最大値に達すると、代わりに早期に完了の信号を送ります。下層のパーサーが本文バイトを配信し続けるため、2 番目の完了シグナルが発火して内部アサーションをトリップさせ、リクエストを中止し接続を破壊します。接続が実際には切断されているのに、アプリケーションは、空または切り捨てられた本文を伴う誤解を招く成功ステータスを観察したままになります。
これは、 7.1.0 から 7.29.1 まで、 8.0.0 から 8.10.2 までの undici バージョンに影響を与えます。ユーザーは、undici 7.29.1 または 8.10.2 にアップグレードする必要があります。(CVE-2026-84947)
undici の BalancedPool コンストラクターは、値を JSON としてシリアル化および再解析する内部ディープクローンを通して、オプションオブジェクト全体を渡します。JSON は関数を表すことができないため、呼び出し元指定の checkServerIdentity コールバックや接続オプション内のカスタム コネクタなど、関数値の TLS オプションは、TLS レイヤーに到達する前に自動的に破棄されます。その結果、アプリケーションのカスタム checkServerIdentity の証明書が拒否するように書き込まれたものの、依然としてノードのデフォルトのホスト名とチェーンチェックに合格するピアは、BalancedPool を介して到達したときに受け入れられます。クライアント、プール、エージェントディスパッチャーは、複製前に接続オプションと tls オプションを抽出するため、影響を受けません。
これは、 7.24.1 から 7.29.1 まで、 8.0.0 から 8.10.2 までの undici バージョンに影響を与え、アプリケーションが関数値の接続または tls オプションを BalancedPool に提供した場合にのみ影響を与えます。ユーザーは、undici 7.29.1 または 8.10.2 にアップグレードする必要があります。(CVE-2026-84961)
undici のキャッシュインターセプタは、安全な HTTP メソッドのみがキャッシュされるものの、キャッシュをスキップするロジックが安全なメソッドのセットから構成されたメソッドを差し引くことによって構築されているため、POST、PUT、DELETE などの安全でないメソッドはスキップリストには入れず、代わりに完全なキャッシュ読み取りパスに落ちます。応答ストレージゲートにもメソッドチェックが欠如していたため、ヒューリスティックにキャッシュ可能であるか、明示的なキャッシュコントロールディレクティブを持つ安全でないリクエストに対する応答が保存され、後でキャッシュから再生されます。リモート生成元からの応答ヘッダーは信頼できないものであるため、送信元はキャッシュ可能なステータスで一度応答し、その後、そのパスへのクライアント自身の後続の状態変更リクエストを古いキャッシュエントリから提供する可能性があります。これは、インターセプタのデフォルト構成で発生する整合性の失敗です。これは、 7.0.0 から 7.29.1 まで、 8.0.0 から 8.10.2 までの undici バージョンに影響を与えます。ユーザーは、undici 7.29.1 または 8.10.2 にアップグレードする必要があります。(CVE-2026-85008)
undici は、WebSocket クライアントをバンドルします。その permessage-deflate サイズ制限のクリーンアップにより、そのストリームがまだ放出できる間に、エラーリスナーも含めて、すべてのリスナーが内部 zlib inflate ストリームから削除されます。リモートピアが、内蔵の 128 MiB の展開ペイロード制限を超え、無効な形式の DEFLATE バイトを含む圧縮ペイロードを送信する場合、inflate ストリームは、リスナーがアタッチされていない状態でデータエラーを発行します。これは、Node.js重大な未処理エラーとして扱われ、プロセス全体を終了します。悪用はリモートで認証されておらず、アプリケーションのミスを必要とせず、また非対称です。これは、ネットワーク上の約 130 KB が制限を超えて拡張され、プロセスがクラッシュし、再接続するとクラッシュが繰り返される可能性があるためです。これは、 6.25.0 から 6.28.1、 7.28.0 から 7.29.1、 8.1.0 から 8.10.2 までの undici バージョンに影響を与えます。ユーザーは、undici 6.28.1、 7.29.1、または 8.10.2 にアップグレードする必要があります。(CVE-2026-85024)
Tenable は、前述の記述ブロックをテスト済み製品のセキュリティアドバイザリから直接抽出しています。
Nessus はこれらの問題をテストしておらず、代わりにアプリケーションが自己報告するバージョン番号にのみ依存していることに注意してください。
ソリューション
「dnf update nodejs24 --releasever 2023.12.20260928」または「dnf update --advisory ALAS2023-2026-3107 --releasever 2023.12.20260928」を実行してシステムを更新してください。
プラグインの詳細
ファイル名: al2023_ALAS2023-2026-3107.nasl
エージェント: unix
サポートされているセンサー: Agentless Assessment, Continuous Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Nessus Agent, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus
リスク情報
ベクトル: CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:N
ベクトル: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N
現状ベクトル: CVSS:3.0/E:U/RL:O/RC:C
脆弱性情報
CPE: cpe:/o:amazon:linux:2023, p-cpe:/a:amazon:linux:nodejs24-debuginfo, p-cpe:/a:amazon:linux:nodejs24-debugsource, p-cpe:/a:amazon:linux:nodejs24-devel, p-cpe:/a:amazon:linux:nodejs24-docs, p-cpe:/a:amazon:linux:nodejs24-full-i18n, p-cpe:/a:amazon:linux:nodejs24-libs-debuginfo, p-cpe:/a:amazon:linux:nodejs24-libs, p-cpe:/a:amazon:linux:nodejs24-npm, p-cpe:/a:amazon:linux:nodejs24, p-cpe:/a:amazon:linux:v8-13.6-devel
必要な KB アイテム: Host/local_checks_enabled, Host/AmazonLinux/release, Host/AmazonLinux/rpm-list
エクスプロイトの容易さ: No known exploits are available