Amazon Linux 2023:nodejs24、nodejs24-devel、nodejs24-full-i18n (ALAS2023-2026-3107)

critical Nessus Plugin ID 351057

概要

遠端 Amazon Linux 2023 主機缺少一個安全性更新。

說明

因此,它會受到 ALAS2023-2026-3107 公告中所提及的多個弱點影響。

Undici 的重試處理常式可能會讓已公開的回應內文永遠擱置。當伺服器傳回宣告 Content-Length、僅傳送部分內文並關閉連線的成功回應時,重試處理常式會重試要求。如果重試傳回不可重試的狀態,例如 400,處理常式會將新的回應轉送至下游,並取代其內部回應資料流程,但應用程式仍保留的原始回應本文永遠不會結束或銷毀。因此,讀取該內文的呼叫永遠不會結算,而且設定的內文逾時不會觸發,因為其計時器系結至連線剖析器,而不是孤立的主體。攻擊者控制的伺服器可以透過兩個簡短的回應來觸發此問題,而無需保持連線開啟狀態,並且重複的請求會累積擱置的承諾和資料流,從而耗盡應用程式並發或記憶體。這會影響從 到 7.29.1 和從 8.10.28.0.0 到 的 undici 版本7.11.0。使用者應升級至 undici 7.29.1 或 8.10.2.
(CVE-2026-18149)

Undici 的重試攔截器可以將範圍重試回應的主體附加到已從先前部分回應傳遞的位元組,同時仍顯示原始回應的狀態和標頭。當上游伺服器在沒有可信任的繼續檢查點的情況下傳遞部分內文時,就會發生這種情況,例如標頭已傳送的不成功回應或具有無法使用內容範圍的部分內容回應,然後關閉連線並使用更多位元組回應繼續的範圍要求。
因此,回應本文可能比應用程式觀察到的 Content-Length 長。將此類回應轉送至下游 HTTP/1.1 對等而不正規化框架的應用程式可能會發出超過轉送內容長度的內文,而多餘的位元組可以解譯為後續回應的開頭,進而啟用下游回應分割或取消同步化。
利用需要攻擊者控制的上游伺服器,以及透過框架敏感路徑轉送回應的應用程式。這會影響 之前的 undici 7.29.17.0.0 版本6.28.1,從 到 ,以及從 8.0.08.10.2到 。使用者應升級至 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。
由於該程式碼在微任務中運行,沒有周圍的錯誤處理,因此例外狀況會在 Node 的預設行為下傳播並終止進程,而不是按照 WebSocket 通訊協定的要求正常地失敗連線。任何向攻擊者控制或遭入侵的伺服器開啟 WebSocket 的應用程式,或透過受中間機器約束的純文字連線,都可能在預設設定中無需驗證的情況下從遠端當機。這會影響從 到 、 到 7.0.07.29.1和 到 8.10.28.0.0 的 undici 版本6.7.0。6.28.1 使用者應升級至 undici 6.28.1、 7.29.1或 8.10.2。(CVE-2026-19534)

undici 的解壓縮攔截器會根據不受信任的 Content-Encoding 標頭解壓縮回應主體。雖然內容編碼層的數量有上限,但解壓縮的輸出大小總計是無限的,而且沒有設定選項可以限制它。因此,惡意或錯誤的上游可能會傳回一個小型壓縮負載,即壓縮炸彈,該負載在用戶端記憶體中擴展到數百兆位元組或更多,這是一種不對稱的資源消耗,可能會耗盡記憶體並使進程崩潰。這會影響從 到 7.29.1 和從 8.10.28.0.0 到 的 undici 版本7.15.0。使用者應升級至 undici 7.29.1 或 8.10.2.(CVE-2026-84890)

undici 的快取攔截器不會處理其快取路徑中任何位置的 Set-Cookie 回應標頭,因此它既不會拒絕儲存也不會剝離該標頭。在預設的共用快取模式中,會儲存帶有 Set-Cookie 標頭的可快取回應,例如標有 public 和 max-age 指示詞的回應,然後重新提供給符合相同快取金鑰的後續呼叫端。因此,一個呼叫端的 Cookie 會洩漏給不同的呼叫端,而不受信任的伺服器可能會將 Cookie 插入提供給所有後續呼叫端的快取回應中。這違反了共用快取不得儲存 Cookie 的要求。這會影響從 到 7.29.1 和從 8.10.28.0.0 到 的 undici 版本7.0.0。
使用者應升級至 undici 7.29.1 或 8.10.2.(CVE-2026-84933)

Undici 的轉儲攔截器會讀取並捨棄回應本文,上限為可設定的最大大小。當回應宣告超過最大值的 Content-Length 時,攔截器會乾淨地中止,但當回應沒有 Content-Length 且被區塊化時,攔截器會在累積大小達到最大值時提前發出完成訊號,而不會暫停或中止要求。由於基礎剖析器不斷傳遞正文位元組,因此第二個完成訊號會觸發並觸發內部判斷提示,這會中止要求並中斷連線。當連線實際上已中斷連線時,應用程式會觀察到具有空白或截斷內文的誤導性成功狀態。
這會影響從 到 7.29.1 和從 8.10.28.0.0 到 的 undici 版本7.1.0。使用者應升級至 undici 7.29.1 或 8.10.2.(CVE-2026-84947)

undici 的 BalancedPool 建構函式會透過內部深度複製傳遞其整個選項物件,該內部深度複製會將值序列化並重新解析為 JSON。由於 JSON 無法代表函式,因此任何函式值 TLS 選項 (例如呼叫端提供的 checkServerIdentity 回呼或連線選項內的自訂連接器) 在到達 TLS 層之前都會以無訊息方式捨棄。因此,當透過 BalancedPool 連線時,會接受其應用程式自訂 checkServerIdentity 憑證以拒絕,但仍通過節點預設主機名稱和鏈結檢查的對等體。用戶端、集區和代理程式分派器不會受到影響,因為它們會在複製之前擷取連線和 tls 選項。
這會影響 undici 版本 7.24.17.29.18.0.08.10.2,從 到 ,而且只有在應用程式提供函式值 connect 或 tls 選項給 BalancedPool 時。使用者應升級至 undici 7.29.1 或 8.10.2.(CVE-2026-84961)

Undici 的快取攔截器記錄了僅快取安全的 HTTP 方法,但其跳過快取的邏輯是透過從安全方法集中減去配置的方法來建立的,因此不安全的方法(例如 POST、PUT 或 DELETE)永遠不會被放置在跳過清單中,而是會落入完整的快取讀取路徑。回應儲存閘道也缺少方法檢查,因此會儲存對啟發式可快取或帶有明確 Cache-Control 指令的不安全要求的回應,稍後會從快取重播。由於來自遠端來源的回應標頭不受信任,因此來源可以以可快取狀態回應一次,然後從過時的快取項目向該路徑提供用戶端自己的後續狀態變更請求,而無需到達來源,這是在攔截器的預設設定下發生的完整性失敗。這會影響從 到 7.29.1 和從 8.10.28.0.0 到 的 undici 版本7.0.0。使用者應升級至 undici 7.29.1 或 8.10.2.(CVE-2026-85008)

undici 捆綁了一個 WebSocket 用戶端,其 permessage-deflate size-limit 清理會從內部 zlib 膨脹資料流中移除所有接聽程式,包括其錯誤接聽程式,而該資料流仍然可以發出。當遠端對等傳送的壓縮承載超過內建 128 MiB 解壓縮承載限制,然後包含格式錯誤的 DEFLATE 位元組時,膨脹資料流會發出未連接接聽程式的資料錯誤,Node.js將其視為重大未處理的錯誤並終止整個處理程序。利用是遠端且未經身份驗證的,不需要應用程式錯誤,並且是不對稱的,因為網路上大約 130 KB 的擴展超出限制並使進程當機,重新連接可能會重複當機。這會影響從 到 、 到 7.28.07.29.1和 到 8.10.28.1.0 的 undici 版本6.25.0。6.28.1 使用者應升級至 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」以更新系統。

另請參閱

https://alas.aws.amazon.com//AL2023/ALAS2023-2026-3107.html

https://alas.aws.amazon.com/faqs.html

https://explore.alas.aws.amazon.com/CVE-2026-18149.html

https://explore.alas.aws.amazon.com/CVE-2026-18540.html

https://explore.alas.aws.amazon.com/CVE-2026-19534.html

https://explore.alas.aws.amazon.com/CVE-2026-84890.html

https://explore.alas.aws.amazon.com/CVE-2026-84933.html

https://explore.alas.aws.amazon.com/CVE-2026-84947.html

https://explore.alas.aws.amazon.com/CVE-2026-84961.html

https://explore.alas.aws.amazon.com/CVE-2026-85008.html

https://explore.alas.aws.amazon.com/CVE-2026-85024.html

Plugin 詳細資訊

嚴重性: Critical

ID: 351057

檔案名稱: al2023_ALAS2023-2026-3107.nasl

版本: 1.2

類型: Local

代理程式: unix

已發布: 2026/9/29

已更新: 2026/10/2

支援的感應器: Agentless Assessment, Continuous Assessment, Frictionless Assessment Agent, Frictionless Assessment AWS, Nessus Agent, Tenable Cloud Security, Tenable Self-Hosted Container Security, Nessus

風險資訊

VPR

風險因素: Medium

分數: 4.3

百分位數: 53.48

CVSS v2

風險因素: High

基本分數: 9.4

時間性分數: 7

媒介: CVSS2#AV:N/AC:L/Au:N/C:C/I:C/A:N

CVSS 評分資料來源: CVE-2026-84961

CVSS v3

風險因素: Critical

基本分數: 9.1

時間性分數: 7.9

媒介: 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

修補程式發佈日期: 2026/9/29

弱點發布日期: 2026/9/4

參考資訊

CVE: CVE-2026-18149, CVE-2026-18540, CVE-2026-19534, CVE-2026-84890, CVE-2026-84933, CVE-2026-84947, CVE-2026-84961, CVE-2026-85008, CVE-2026-85024

IAVB: 2026-B-0283