---
title: "Node.js 三條發行線同步修補多個高風險漏洞"
url: https://sammy.hk/nodejs-november-security-releases/
author: Ethan
published: 2026-11-14T15:19:00+08:00
modified: 2026-11-14T09:52:48+08:00
description: "Node.js 專案於 2026 年 11 月 11 日推出安全更新，26.x、24.x 與 22.x 三條發行線分別發布 26.13.1、24.22.3 及 22.23.5 [1]。三個分支的最高嚴重程度同為高，多數問題集中在 HTTP/2 與 TLS 的記憶體管理，官方同時更新 llhttp、undici 與 sq…"
categories: ["開放源碼"]
tags: [HTTP2, Node.js, TLS, "升級", "安全漏洞"]
source: https://sammy.hk
---
![](https://sammy.hk/wp-content/uploads/2026/11/nodejs-og.jpg)Node.js 專案於 2026 年 11 月 11 日推出安全更新，26.x、24.x 與 22.x 三條發行線分別發布 26.13.1、24.22.3 及 22.23.5 \[1\]。三個分支的最高嚴重程度同為高，多數問題集中在 HTTP/2 與 TLS 的記憶體管理，官方同時更新 llhttp、undici 與 sqlite 等依賴 \[1\]。

## HTTP/2 成為重災區

多個高風險問題與 HTTP/2 有關。CVE-2026-123863 涉及工作階段拆除時的可達斷言：任何未認證客戶端只要令帶有 nghttp2 標頭緩衝的串流存活得比工作階段更久，便會在解構時觸發斷言並終止行程；官方指這是 CVE-2024-27983 的變種，早前修正只覆蓋仍被工作階段追蹤的串流 \[1\]。CVE-2026-123865 則是另一種資源耗盡：對端在連線關閉期間觸發協定錯誤，nghttp2 內部已終止工作階段，但 Node.js 未察覺，socket 停留在等待關閉狀態，記憶體與檔案描述符永久洩漏 \[1\]。

CVE-2026-123866 與 CVE-2026-123874 均屬釋放後使用（use-after-free）。前者在串流仍有背壓寫入時被重置，已釋放的回應緩衝仍被引用，可能把其他連線的記憶體寫回對端；後者則在應用使用 respondWithFile() 或 respondWithFD() 供應檔案時，讓客戶端於寫入排隊期間釋放串流物件，之後代碼經已釋放物件作虛擬呼叫 \[1\]。另有一個中等風險的 CVE-2026-123828，在 Http2Session.altsvc() 處理過長來源時造成單字節堆積緩衝區溢位 \[1\]。

## TLS 與 HTTPS 同樣受影響

CVE-2026-123864 屬 HTTPS 的重入缺陷：TLSWrap::DoWrite() 在寫入零字節時直接呼叫內部清除函式，若該寫入由 HTTP 解析器主體回呼中的 JavaScript 觸發，便會在解析器仍處理主體時解密下一筆 TLS 記錄，重入 llhttp\_execute() 並造成釋放後使用與越界讀取。伺服器繼而把已釋放或無關的堆積記憶體複製到回應之中，可能洩漏 TLS 私鑰 \[1\]。明文 node:http 不受影響 \[1\]。

CVE-2026-126051 則讓未認證攻擊者終止行程：TLS 伺服器若使用 SNICallback、OCSPRequest、newSession、resumeSession 等回呼或 server.addContext()，相關 OpenSSL 回呼會被延後執行，而延後代碼未處理 socket 在排程與執行之間被銷毀的情況，最終拋出未捕捉例外 \[1\]。CVE-2026-123872 是另一類問題：在按主機名稱套用不同客戶端憑證政策的伺服器上，客戶端可於 TLS 1.2 重新協商時單方面更改伺服器名稱，把原有認證帶到受保護的主機，繞過較嚴格的政策 \[1\]。

## 升級與檢查重點

三條發行線的修補均已隨新版釋出，官方列明受影響範圍涵蓋 22.x、24.x 與 26.x 的使用者；已終止支援的版本同樣受影響，官方建議盡快轉用受支援版本 \[1\]。另有一個低風險的 CVE-2026-106071 涉及權限模型的檔案系統授權過寬：當萬用字元授權位於權限樹根層，較短路徑可能在 radix 樹比對時被誤判為符合，例如以 /etc/passwd.\* 授權讀取時，亦同時允許讀取 /etc/passwd \[1\]。

實務上，凡以 Node.js 直接面向互聯網提供 HTTP/2 或 TLS 服務的部署，均應優先升級；使用 respondWithFile() 供應靜態檔案的應用，以及啟用客戶端憑證分主機政策的服務，屬高風險組合 \[1\]。升級後亦應檢查依賴是否同步更新，尤其是自行編譯或釘死依賴版本的專案 \[1\]。

## 參考資料

\[1\] [Wednesday, November 11, 2026 Security Releases（2026-11-11）](https://nodejs.org/en/blog/vulnerability/november-2026-security-releases)

### 相關文章：

1. [Cloudflare Containers 跨租戶資料外洩漏洞：dm-thin 未清零的殘留磁碟區塊](https://sammy.hk/cloudflare-containers-%e8%b7%a8%e7%a7%9f%e6%88%b6%e8%b3%87%e6%96%99%e5%a4%96%e6%b4%a9%e6%bc%8f%e6%b4%9e%ef%bc%9adm-thin-%e6%9c%aa%e6%b8%85%e9%9b%b6%e7%9a%84%e6%ae%98%e7%95%99%e7%a3%81%e7%a2%9f/ "Cloudflare Containers 跨租戶資料外洩漏洞：dm-thin 未清零的殘留磁碟區塊")
2. [Let’s Encrypt 公布 64 日憑證時間表：2027 年 2 月 10 日生效](https://sammy.hk/lets-encrypt-%e5%85%ac%e5%b8%83-64-%e6%97%a5%e6%86%91%e8%ad%89%e6%99%82%e9%96%93%e8%a1%a8%ef%bc%9a2027-%e5%b9%b4-2-%e6%9c%88-10-%e6%97%a5%e7%94%9f%e6%95%88/ "Let’s Encrypt 公布 64 日憑證時間表：2027 年 2 月 10 日生效")
3. [PHP 修補兩個嚴重漏洞：未認證即可遙距執行代碼，官方籲即時更新](https://sammy.hk/php2shell/ "PHP 修補兩個嚴重漏洞：未認證即可遙距執行代碼，官方籲即時更新")
4. [Node.js 27 首個 alpha 版本推出 改用 V8 15.6 並要求 OpenSSL 3 以上](https://sammy.hk/nodejs-27-alpha-released/ "Node.js 27 首個 alpha 版本推出 改用 V8 15.6 並要求 OpenSSL 3 以上")
