
Node2Shell外溢至Brotli供應鏈 Node.js更新後仍須盤點
iThome 報道,Node.js近日修補、編號為 CVE-2026-111497 的高風險漏洞,問題並不只限於Node.js本身。被稱為 Node2Shell 的漏洞位於 Google 開發的 Brotli 解壓縮程式庫;任何採用受影響解碼器、又會處理解壓縮不受信任資料的軟件,都可能要評估風險。
漏洞可令特製資料觸發越界寫入,造成RAM損壞,嚴重時或可導致遠端執行程式碼。iThome 指出,其 CVSS 4.0 評分為 9.2。不過,採用 Brotli 並不等於必然受影響:關鍵在於產品實際內建或連結的版本,以及其是否會解壓縮不可信輸入;資料未提及已確認的在野大規模利用。
更新 Node.js,只是第一步
Node.js 已於 10 月 21 日發布安全更新,受修補版本包括 22.23.4、24.22.1 及 26.12.1。對於以 Node.js 運作的後端服務、前端建置工具鏈、命令列工具及其容器部署,更新至相應版本是直接的處置方法。
但供應鏈風險在於,Brotli 可被其他產品自行打包。iThome 引述 OpenSourceMalware 共同創辦人兼技術長 Paul McCarty 的調查指出,Python、Go、.NET 與 Perl 生態均有程式庫或應用程式使用 Brotli,瀏覽器、桌面程式及基礎架構軟件亦可能包含該元件。因此,只更新作業系統套件或 Node.js runtime,未必會替一個靜態打包 Brotli 的app完成修補。
Python與容器映像檔應列入檢查
iThome 指出,Python 的 Brotli 與 brotlicffi 套件已確認使用受影響解碼器,分別在 10 月 22 日及 23 日推出修補版;Brotli 上游則於 10 月 22 日發布 1.2.1,修補 1.2.0 及較早版本的問題。團隊宜鎖定實際部署環境的相依套件,而非只檢查開發機器上的版本。
可按以下次序處理:
- 更新 Node.js 至官方列出的已修補版本,並重新建立使用它的容器映像檔。
- 檢視 Python 依賴鎖定檔及已部署環境,更新
Brotli、brotlicffi或由其他套件帶入的相關依賴。 - 為容器映像檔、後端服務及前端工具鏈做元件清單或依賴掃描,找出自行內建 Brotli 的程式。
- 對會解壓縮外來HTTP內容、上載檔案或其他不受信任資料的服務優先排查,並依各產品安全公告套用修補。
修正程式碼與取得修補之間有落差
iThome 引述資安公司 Miggo 的追查稱,涉事程式碼在 2018 年加入 Brotli;上游在 2026 年 2 月已修正相關程式碼,但當時未確認為資安漏洞,直至 10 月 21 日才發布含修正的正式版本。這個時間差反映,開源元件上游已有改動,不代表所有下游軟件、發行版或映像檔已自動吸收修補。
iThome 指出,Chrome、Firefox 及 Envoy 已修補相關問題;其他產品則仍要按版本與使用情境判斷。對香港常見、以 Node.js、Python 和容器支援網絡服務的開發團隊而言,下一步應是把「有沒有更新 Node.js」擴展為「部署品實際帶了哪個 Brotli 解碼器」,並持續留意供應商對內建元件的安全公告。
延伸閱讀
AI 輔助說明: 本文由 AI 協助整理,並經兩輪獨立自動品質審核;資料及連結仍以原始來源為準。
參考來源
- iThome — 不只影響Node.js,Node2Shell漏洞恐波及其他開發工具及應用程式 — original report
本文根據原文及公開資料整理;資料有出入時,以原文及官方資料為準。





