Node2Shell(Brotli 漏洞)5 分鐘自查

如果公司的網站、後台或 API 是用 Node.js、Python 或 .NET 寫的,這週請廠商回覆一件事:「我們用到的 Brotli 解壓縮元件,版本是不是已經在修補版以上?」這個漏洞編號是 CVE-2026-111497,外界常稱為 Node2Shell;美國 CISA 在 2026 年 10 月 27 日把它列入「已知遭利用漏洞」清單。

前兩篇〈一個漏洞,看出公司有沒有人在看技術〉與〈PHP 修補完成後,還要確認暴露期間〉談的是 PHP。這次的問題出在很多語言共用的壓縮元件,所以不是只有某一種網站要看。

這個漏洞是什麼?

Brotli 是 Google 開發的壓縮格式,網站與 API 常用它來壓縮傳輸內容。依美國國家漏洞資料庫 NVD 的說明,Google Brotli 1.0.3 到 1.2.0 的解壓縮程式有緩衝區溢位問題:遠端、不需登入的攻擊者送出特製的壓縮資料,可能破壞記憶體、讀出記憶體內容、讓服務當掉,甚至可能執行任意程式碼。

修補版本是 1.0.10、1.1.1 或 1.2.1。嚴重度方面,NVD 給 CVSS 3.1 9.8(Critical),Google 給 CVSS 4.0 9.2;Node.js 官方在自家公告中把它列為 High。各單位評分方式不同,重點是同一件事:請盡快更新。

哪些系統要看?

風險出現在「應用程式會解壓縮外部送來的 Brotli 資料」時。以下依官方公告整理:

  • Node.js:Node.js 官方 10 月 21 日安全公告說明,應用程式若用 node:zlib 解壓縮攻擊者可控制的 Brotli 資料,可能導致當機、記憶體外洩或遠端執行程式。受影響的是 22.x、24.x、26.x,修補版為 v22.23.4、v24.22.1、v26.12.1(或更新版本)。
  • Python:GitHub 安全公告列出 PyPI 的 brotli 套件 1.0.3 以上、1.2.1 以前受影響;brotlicffi 則是 1.2.1.0 以前。
  • .NET:Microsoft 的公告說明,ASP.NET Core 與 HttpClient 預設不會自動解壓縮 Brotli;只有啟用了 Brotli 請求解壓縮、HttpClient 自動解壓縮包含 Brotli,或直接使用 BrotliStream/BrotliDecoder 處理外部資料時才會暴露。.NET Framework 不受影響。
  • 其他產品:CISA 註明這是開源元件,可能被很多產品使用。如果系統裡有其他會解壓縮 Brotli 的軟體或設備,請向該產品廠商確認是否有更新。

5 分鐘自查清單

負責人不用自己登入主機,把下面的問題交給維護廠商或工程師,請對方逐項回覆即可:

  1. 我們的服務有沒有用 Node.js?正式環境實際跑的版本是多少?工程師可以在主機或容器內執行 node -v,對照上面的修補版。
  2. Python 服務有沒有裝 brotli 或 brotlicffi?可以用 pip show brotli brotlicffi 查版本。
  3. .NET 服務有沒有啟用 Brotli 解壓縮?沒有啟用的話,請廠商寫明「確認未啟用」;有啟用就依 Microsoft 公告更新。
  4. 系統是用容器(Docker)部署的嗎?如果是,更新後要重新建置映像檔並重新部署,舊的容器不會自己換成新版。若應用程式自帶 Brotli(例如打包在程式裡),只更新主機的系統套件不一定涵蓋到它,請廠商一併確認。
  5. 誰在什麼時間完成更新?請廠商留下完成時間與更新後的版本截圖或紀錄,放進公司的維護紀錄。

「列入已知遭利用清單」代表什麼?

CISA 的 已知遭利用漏洞清單(KEV)收錄的是已有遭利用證據的漏洞。CISA 要求美國聯邦機關在 2026 年 11 月 10 日前處理這一項;這個期限是給美國政府單位的,但也是一般企業排定優先順序的參考。

列入清單代表「有人在利用」,不代表每個系統都已被入侵;反過來,更新完成也只代表之後的攻擊被擋住。如果系統在更新前就對外開放、而且會解壓縮外部資料,可以請廠商比照〈PHP 修補完成後,還要確認暴露期間〉的做法,回頭檢查更新前那段時間的錯誤紀錄與異常當機。

可以直接轉給廠商的一段話

您好,關於 CVE-2026-111497(Brotli 解壓縮漏洞,又稱 Node2Shell),CISA 已於 10/27 列入已知遭利用清單。請協助確認並回覆:一、我們的服務是否使用 Node.js、Python(brotli/brotlicffi)、.NET 的 Brotli 解壓縮,或其他內含 Brotli 的元件;二、正式環境目前的版本,是否已在官方修補版以上;三、若用容器部署,是否已重建映像並重新上線;四、完成更新的時間與紀錄。若暫時無法更新,請說明替代措施與預計時間。謝謝。

以上內容依 NVD、CISA、Node.js、GitHub 安全公告與 Microsoft 官方公告整理,是向廠商確認的問題清單,不是弱點掃描工具,也不能代替技術團隊的實際檢查。資訊截至 2026 年 11 月 2 日;請以官方最新公告為準。

回到部落格