
Node.js專案釋出安全更新,修補多項弱點。官方特別提醒CVE-2025-59466漏洞可能在特定非同步追蹤機制啟用時,讓堆疊耗盡的錯誤處理失效而造成程序異常退出,進而產生DoS風險,影響範圍涵蓋React、Next.js或導入應用效能監控工具(APM)的服務。
Node.js安全公告指出,啟用async_hooks相關追蹤機制時發生呼叫堆疊耗盡,錯誤可能走不到一般例外處理流程,連uncaughtException這類未捕捉例外事件也不一定會觸發,導致程序直接退出。要是應用程式存在由外部輸入推高遞迴深度的邏輯,例如處理高度巢狀的JSON,就可能被單一請求觸發堆疊耗盡,導致整個服務中斷或反覆重啟。
Node.js也點名常見的觸發情境,React伺服器元件與Next.js經常透過AsyncLocalStorage來保存同一個請求或轉譯流程的脈絡資訊,讓資料能跨多個非同步步驟一路傳下去。而在Node.js 20與22等版本,AsyncLocalStorage建立於async_hooks之上,因此更容易落入該漏洞觸發條件。另一方面,不少APM也會用AsyncLocalStorage或直接呼叫async_hooks.createHook串起跨非同步邊界的追蹤資訊,讓不少應用因導入監控而被動啟用相關機制。
由於Node.js 24開始,AsyncLocalStorage改以V8引擎的AsyncContextFrame實作,不再於內部啟用async_hooks.createHook,因此當React與Next.js僅使用AsyncLocalStorage通常不會觸發該漏洞。不過APM或相依套件要是直接啟用async_hooks.createHook,堆疊耗盡仍可能變得不可捕捉而導致崩潰,因此安全更新還是涵蓋24.x與25.x。
同一批安全更新也涵蓋其他中高風險議題,Node.js針對25.x、24.x、22.x與20.x版本共修補3項高風險、4項中風險與1項低風險問題,並同步更新相依元件c-ares至1.34.6,以及將undici更新至6.23.0或7.18.0,以處理已公開漏洞。官方也提醒,已終止支援版本在安全釋出期間通常視為同樣受影響,實務上應以仍受支援的版本為主。
在高風險項目中,包含使用vm模組的timeout選項時,緩衝區配置可能因競爭狀態而出現未清零的記憶體內容,導致Buffer.alloc或Uint8Array等型別陣列暴露先前資料殘留,帶來機密外洩或資料損壞風險,為CVE-2025-55131,另外,CVE-2025-55130則是Node.js權限模型被發現可透過特製的符號連結路徑,繞過檔案讀寫限制。同批高風險還包含HTTP/2伺服器,在收到畸形HEADERS影格時,可能觸發未妥善處理的TLSSocket錯誤而造成程序崩潰,形成遠端DoS,編號為CVE-2025-59465。
熱門新聞
2026-01-12
2026-01-12
2026-01-12
2026-01-12
2026-01-12