漏洞修補2026 年 10 月 25 日(日)

HTTP2Shell/Brotli解壓漏洞:更新Node.js與Python,檢查雙向HTTP路徑

CVE-2026-111497的Google CNA評分為CVSS v4.0 9.2。盤點會處理不可信Brotli資料的網站、內部HTTP client、代理與交付物,更新Node.js、Python bindings及內嵌元件,並驗證請求與回應兩條風險路徑。

01

內文

HTTP2Shell(亦稱Node2Shell)的風險來自Brotli解壓元件。網站接收壓縮請求,以及內部服務向外抓取網頁、API或檔案,都可能把攻擊者控制的資料送進Brotli解壓程序。若使用受影響元件,可能造成程序崩潰、記憶體資料外洩或遠端程式碼執行。外部入口、內部整合、容器與產品內嵌Runtime都要一起檢查。

CVE-2026-111497:Google CNA評為CVSS v4.0 9.2;Amazon Linux評為CVSS v3.1 8.1。Node.js原廠分級High,於2026/10/21發布安全更新;CVE紀錄於10/22發布。風險前提是程式實際以受影響decoder解壓不可信Brotli資料。

攻擊流程路徑一:惡意壓縮請求進入網站
  1. 01

    受影響服務可達

    網站或API會解壓外部送入的Brotli資料

  2. 02

    特製br請求

    攻擊者送入惡意壓縮的request body

  3. 03

    受影響decoder處理

    中介軟體把資料送入原生Brotli解壓程序

  4. 04

    程序與資料受影響

    記憶體損壞可能導致崩潰、洩漏或程式碼執行

攻擊流程路徑二:內部服務抓回惡意回應
  1. 01

    後端抓取外部來源

    URL預覽、爬取、webhook或系統整合會向外取資料

  2. 02

    對方回傳br內容

    惡意伺服器提供特製Brotli壓縮回應

  3. 03

    HTTP client解壓

    自動或明確呼叫受影響Brotli decoder

  4. 04

    內部程序受影響

    服務程序及其可接觸的資料、憑證可能受危害

Imperva已在官方Node.js 24.22.0 Linux arm64映像,透過請求與回應兩條路徑驗證程式碼執行;24.22.1拒絕同樣資料。應將網站請求與後端抓取分別納入修補及測試。

受影響條件與各元件修補版本
  • Google Brotli:受影響分支範圍為1.0.3至1.0.9、1.1.0、1.2.0;修補版為1.0.10、1.1.1、1.2.1。由發行商回補的套件依其安全更新判斷。
  • Node.js:受影響支援線為22.x、24.x、26.x,分別更新至22.23.4、24.22.1、26.12.1或同分支後續安全版本。未受支援分支改用仍受支援的修補版。
  • Python:核對環境內brotli及brotlicffi,更新至brotli 1.2.1、brotlicffi 1.2.1.0或發行商修補包。Requests、urllib3與HTTPX可透過已安裝的binding啟用回應解壓,應檢查各venv、wheel與映像內的實際元件。
  • Bun:1.0.21起至1.4.4之前受影響,更新至1.4.4或後續安全版本;fetch、node:zlib及DecompressionStream的Brotli路徑都要核對,以bun build --compile交付的執行檔重新建置。
  • Envoy:配置Brotli decompressor的部署受影響,修補版為1.40.0、1.39.3、1.38.6、1.37.8;舊分支1.36.12也有修補,應優先使用受支援分支。
  • Istio:啟用Brotli解壓的部署,更新至1.31.2、1.30.6或後續受支援安全版本;舊分支1.29.9也有修補,1.29已停止支援,應規劃升支。
  • 其他產品:盤點會解壓Brotli的代理、HTTP client、API閘道、CLI及套裝軟體,更新各產品內嵌元件;僅提供Brotli輸出壓縮的部署,另核對是否也存在解壓路徑。

行動建議:從外部邊界查到內部核心

應變流程先找解壓位置,再限制、更新與複驗
  1. 01

    盤點雙向解壓路徑

    找出網站請求、對外抓取、內部代理與交付物中的Brotli元件

    看看能怎麼應對2項資源

    TWISA 會員方案

    盤點雙向解壓路徑

    以Qualys VMDR與DVM交叉盤點服務、主機及弱點清冊,搭配套件鎖定檔、容器與內嵌Runtime清單,逐一確認實際載入的Brotli版本及解壓路徑。

  2. 02

    先收斂網站入口

    限制不必要的壓縮請求,核對入口與解壓順序

    看看能怎麼應對2項資源

    TWISA 會員方案

    先收斂網站入口

    SkyWAF可自訂HTTP標頭存取政策,協助減少不必要的壓縮請求進入後端。設定後核對拒絕動作位於受影響解壓程序之前,並測試後端直連入口。SkyCloud 資安防護包提供TWISA優惠:首次導入企業完成並繳交導入前後檢測報告後取得折扣碼,活動至2026/12/31。

  3. 03

    更新實際執行元件

    更新Runtime及bindings,重建容器、內嵌執行檔與委外交付物並重啟服務

    查看處理指引3項資源

    應對方式與指引

    更新實際執行元件

    更新Runtime及bindings,重建容器、內嵌執行檔與委外交付物並重啟服務

  4. 04

    授權測試與複驗

    分別驗證入口拒絕、外連回應、修補版本與後端結果

    看看能怎麼應對2項資源

    TWISA 會員方案

    授權測試與複驗

    LKCArgusHack驗證經過WAF的網站請求、告警及實際阻擋;滲透測試服務可將API、後端直連與外部資料抓取納入授權範圍,核對解壓前控制與更新後結果。

暫時無法升級:請求與回應分開應對
  • 請求方向:在任何受影響decoder解壓前,拒絕Content-Encoding包含br的請求。比對需涵蓋大小寫及多重編碼清單,並核對反向代理自身是否先做了解壓。
  • 回應方向:移除Accept-Encoding中的br,並停用Brotli回應解壓,或在自動解壓前拒絕Content-Encoding包含br的回應。對端仍可能回傳未協商的br內容,因此必須同時控制實際解壓行為。
  • Python:若Brotli為選用功能,可暫時移除brotli與brotlicffi兩種binding及會重裝它們的依賴,更新鎖定檔、重建並重啟。對端仍送br時可能出現讀取失敗,先驗證業務相容性。
  • Bun:官方暫時做法為每次fetch使用decompress:false;其他Brotli API另停止處理不可信輸入。Envoy/Istio可暫停Brotli decompressor並核對請求、回應兩方向。
  • 更新後主動驗證:檢查資產探測、弱掃、API與滲透測試範圍,於授權環境模擬兩條資料路徑並複測。核對WAF請求、告警、實際阻擋與後端結果,以及外連client是否仍自動解壓。
防禦架構雙向HTTP防禦:把控制放在解壓之前

涵蓋外部網站、內部後台、委外系統、容器、CI工具與靜態連結/內嵌元件

業務連線依授權放行,各層分別落實防護

  1. 01

    外部網站與API

    真正經過防護設備的請求

    看看能怎麼應對2項資源

    TWISA 會員方案

    外部網站與API

    Imperva已發布CVE-2026-111497專用WAF規則,驗證可阻擋其重現的攻擊;Check Point提供Node.js Brotli Remote Code Execution IPS防護。更新適用規則、啟用阻擋模式並確認流量經過檢查。

    解壓前拒絕與虛擬修補在受影響解壓器處理前拒絕br請求,啟用當期專用規則並核對阻擋結果

  2. 02

    Runtime與原生元件

    Node、Bun、Python bindings與libbrotli

    查看處理指引2項資源

    應對方式與指引

    Runtime與原生元件

    核對執行中的元件版本,重啟所有worker;代理自己的decoder也要更新

    更新並重建交付物核對執行中的元件版本,重啟所有worker;代理自己的decoder也要更新

  3. 03

    內部對外HTTP client

    爬取、URL預覽、webhook與系統整合

    查看處理指引2項資源

    應對方式與指引

    內部對外HTTP client

    在自動解壓前停用或拒絕br,測試未協商的br回應,限制外連目的地

    管住回應解壓在自動解壓前停用或拒絕br,測試未協商的br回應,限制外連目的地

  4. 04

    核心資料與服務身分

    程序可讀的帳密、文件與資料庫

    限制程序可取得的資源服務帳號最小權限,縮減明文個資、正式金鑰與內網連線,發現異常時調查及換鑰

各層日誌與流量,送往監控與應變流程

  1. 記錄解壓與程序異常保留decoder錯誤、崩潰、請求來源與外部回應來源
  2. 阻斷後續惡意活動對照解壓程序、可疑指令與外連,必要時隔離
    看看能怎麼應對3項資源

    TWISA 會員方案

    阻斷後續惡意活動

    在產品支援的主機,以SentinelOne Singularity、FortiEDR或NeithSeeker關聯程序、惡意執行及可疑外連,透過行為阻斷與端點隔離限制後續危害。

  3. 稽核核心存取對照服務帳號、資料讀取、權限變更與憑證使用
  4. 侵害調查與復原保全紀錄,調查可讀資料、帳密及持續存取
    看看能怎麼應對2項資源

    TWISA 會員方案

    侵害調查與復原

    發現可疑程序、資料存取或外連時,保全應用、主機、容器及代理紀錄,調查程序可接觸的資料與憑證,清除持續存取並規劃乾淨環境復原。

網站入口防護與內部抓取回應分開驗證;各路徑都要更新實際使用的Brotli元件。

TWISA 會員方案:依控制位置選用

歡迎洽詢各會員,取得更詳細的產品與服務介紹及說明。

原廠公告與防護依據

通報更新日期:2026/10/25。產品支援與修補狀態以原廠最新資料為準。