跳至主要內容
首頁/部落格/同一週的修補潮:eMudhra 憑證、LiteLLM 投毒與 Railway 環境變數外洩,開發團隊的處理順序
資訊安全軟體供應鏈LiteLLM憑證信任鏈API 金鑰管理SBOM企業AI導入

同一週的修補潮:eMudhra 憑證、LiteLLM 投毒與 Railway 環境變數外洩,開發團隊的處理順序

·約 24 分鐘閱讀
同一週的修補潮:eMudhra 憑證、LiteLLM 投毒與 Railway 環境變數外洩,開發團隊的處理順序
發布:
約 24 分鐘閱讀

文/Laban(優創智能 AI 導入工程師)

「修補潮」指的是多個語言執行環境、套件與平台在同一段時間內各自發布安全更新,讓開發團隊必須同時判斷、排序與驗證。結論先講:2026 年 10 月 19 日至 22 日這一波,最該先處理的不是分數最高的 CVE,而是「你已經裝過、已經被利用、或金鑰已經可能外流」的項目。LiteLLM 1.107.0 遭投毒與 Railway 環境變數外洩屬於這一類;憑證信任鏈則在同週出現三方調整:certifi 與 Node.js 點名 eMudhra,Go 封鎖一組未具名的中繼憑證,升級前要先確認自家服務的憑證。

本文分三部分:官方公告中的已知事實、我們的編輯分析,以及開發團隊可以照做的六個步驟。每一項都附官方來源;查不到官方原文的數字,本文一律不寫。


一、已知事實:10 月 19 日至 22 日的官方公告

以下資料截至 2026 年 10 月 30 日,日期以各官方公告為準。

日期(2026)項目官方重點
10 月 19 日Wasmtime兩份 GitHub 安全公告(CVE-2026-115889、CVE-2026-115893),皆為 Critical、CVSS 3.1 分數 9.9,Cranelift 編譯器問題可能導致沙箱逃逸
10 月 20 日GoGo 1.27.3、1.26.10 發布,crypto/x509 封鎖一小組中繼憑證(CVE-2026-111943)
10 月 20 日certifi(Python)安全公告 GHSA-6q48-6c7w-9gw2,CVSS 4.0 分數 9.1,建議升級到 2026.10.19 以上
10 月 20 日Chrome 156穩定版 156.0.8078.47/.48,官方寫明含 353 個安全修補
10 月 20 日Plex Media Server四個漏洞列入 CISA 已知遭利用漏洞清單(KEV)
10 月 21 日Node.jsv26.12.1、v24.22.1、v22.23.4,修補 10 個 CVE,最高等級為 High
10 月 21 日GitLab19.5.1 等七個版本,12 個安全修補,CVE-2026-110264 為 CVSS 10.0
10 月 21 日Oracle Java SE日本 IPA 轉知 Oracle 公布 Java 安全更新(日本時間)
10 月 21 日LiteLLMPyPI 與容器映像檔 1.107.0 遭投毒
10 月 21 日Railway偵測到存放客戶環境變數的系統出現異常活動
10 月 22 日CPythontarfile 漏洞 CVE-2026-114583,等級 MEDIUM

1. 憑證信任鏈:Node.js、Python、Go 同週調整

  • certifi:GHSA-6q48-6c7w-9gw2(2026-10-20)指出,2026.10.18 之前的 certifi 內含 emSign ECC Root CA - G3 根憑證,其下有八張 eMudhra 中繼憑證的私鑰已遭洩漏,持有私鑰者可以為任何網域簽出看似有效的憑證。certifi 2026.10.18 移除了所有 emSign 根憑證,2026.10.19 再補回未受影響的部分。公告建議升級到 2026.10.19 以上,並重建內含 certifi 的容器映像檔。公告點名的受影響用戶端包含 requests、urllib3、pip。
  • Go:golang-announce(2026-10-20)宣布 Go 1.27.3 與 1.26.10,crypto/x509 封鎖「一小組中繼憑證」,Verify 會過濾掉含這些中繼憑證的鏈。Go 漏洞資料庫 GO-2026-6809 列出受影響範圍為 go1.26.10 之前,以及 go1.27.0 至 go1.27.3 之前。Go 官方沒有點名是哪一家憑證機構,也沒有給 CVSS 分數,只說「強烈建議立即升級」。
  • Node.js:10 月安全更新的相依套件更新裡,列有「ca-cert (eMudhra Intermediate CA Compromise)」,三個支援分支都有。

2. 執行環境與平台修補

  • Node.js(2026-10-21):修補 10 個 CVE,4 個 High、3 個 Medium、3 個 Low,官方寫「本次修補的最高嚴重等級為 HIGH」。High 項目包含 Brotli 解碼器的越界寫入(CVE-2026-111497)與數個 TLS/DNS 驗證繞過。修補版本為 v26.12.1、v24.22.1、v22.23.4;官方提醒已停止支援的版本在每次安全更新時都會受影響。
  • CPython tarfile(2026-10-22 轉發至 oss-security):Python 安全公告指出 CVE-2026-114583 為 MEDIUM 等級,特製的連結項目可繞過 tarfile.tar_filter,讓 extractall(filter="tar") 把檔案寫到目標資料夾之外。
  • GitLab(2026-10-21):緊急修補版涵蓋 19.5.1、19.4.3、19.3.6、19.2.9、19.1.9、19.0.10、18.11.13,共 12 個安全修補(1 個 Critical、2 個 High、5 個 Medium、4 個 Low)。CVE-2026-110264 是正規表示式編譯器的整數溢位,CVSS 10.0,官方說它「可能讓未登入的使用者在 GitLab 伺服器上執行任意程式碼」。官方沒有提供暫時緩解方法,只建議盡快升級;GitLab.com 已完成修補。
  • Wasmtime(2026-10-19):GHSA-897f-g5gm-fmxm 影響所有架構,GHSA-mghf-wjfp-p5xm 只影響 aarch64,兩者都可能讓惡意 Wasm 模組逃出沙箱。兩份公告列出的修補版本範圍不同,請依各自公告升級。
  • Chrome 156(2026-10-20):Chrome Releases 穩定版公告寫明「本次更新包含 353 個安全修補」。
  • Oracle Java SE:日本 IPA 注意喚起指出 Oracle 於 2026 年 10 月 21 日(日本時間)公布 Java 安全更新,受影響版本包含 Java SE 27、26.0.2、25.0.4.1、21.0.12.1、17.0.20.1、11.0.32.1、8 Update 503。

3. 供應鏈投毒與金鑰外洩

  • LiteLLM 1.107.0:依 LiteLLM 官方事件報告(2026-10-21),PyPI 上 litellm==1.107.0 的七個 wheel 於 UTC 11:39:51 至 13:23 上架;Docker Hub 標籤 11:46:56 至 14:20、GHCR 標籤 11:46:56 至 13:51 指向受汙染映像檔,受影響標籤為 v1.107.0、latest、main-latest、main-stable。GitHub 上官方 v1.107.0 原始碼標籤不含惡意檔案;私有企業版用戶不受影響。安全版本為 litellm==1.106.2 或事件前發布的明確版本。
  • 攻擊鏈:LiteLLM 10 月 23 日的攻擊鏈說明指出,起點是 5 月 27 日一把內部平台的管理金鑰被提交到公開 repo,四個多月後仍然有效。攻擊者 10 月 10 日用它取得一個沒有限縮範圍的 GitHub CLI OAuth token,再透過 CI 工作流程偷到另外兩位維護者的 token,最後從名稱只差一個連字號的 Berri-AI 分叉 repo 建置並發布。
  • Railway:Railway 官方揭露(2026-10-21)偵測到存放客戶環境變數的系統出現異常活動,未授權第三方可能取得加密的環境變數,其中部分已取得解密內容;初步分析影響可能限於部分用戶。Railway 建議所有用戶立即輪替存在 Railway 的環境變數(含 API 金鑰)與私有映像庫憑證,並檢查服務日誌;調查期間暫停所有部署。Railway 認為這是一系列鎖定平台公司、目標為 AI 推論服務商的攻擊之一。
  • Plex Media Server:CISA KEV 於 2026-10-20 加入 CVE-2026-96652、CVE-2026-96654、CVE-2026-96655、CVE-2026-96656,代表 CISA 已確認遭實際利用。

同週另有 PHP2Shell 與 Linux 核心 ksmbd 的消息,我們已分別寫過:PHP2Shell 自查與修補、Linux 核心 ksmbd 漏洞報告外洩。


二、編輯分析:這一週真正的風險在哪裡

第一,信任鏈變動會「修好了卻壞掉」。 certifi、Go、Node.js 三邊同週調整,但做法不同:certifi 曾先全部移除再部分補回,Go 用內建黑名單,Node.js 更新 CA 憑證。只升級主機上的執行環境不夠,Go 程式要重新編譯,內含 certifi 的容器映像檔要重建。反過來,如果你的對外網站或內網服務剛好用了受影響的憑證鏈,升級後就是用戶端連不上。

第二,投毒事件的處理單位是「主機」,不是「套件」。 LiteLLM 官方提醒,Python 啟動時會重新執行惡意檔案;Datadog Security Labs 的分析也指出,就算程式沒有 import LiteLLM 一樣會執行,只移除套件不會刪掉那些檔案。所以要問的不是「我們有沒有用 LiteLLM」,而是「哪些主機、CI runner、映像檔在那兩小時內拉過它」,以及「那些主機能讀到哪些金鑰」。LiteLLM 這類 AI 閘道通常握有多家模型供應商的 API 金鑰,一次外流就是全部。

第三,分數不是排序依據。 這一週的分數橫跨 CVSS 3.1 與 4.0 兩種版本,不能直接比大小。更實際的排序是:已裝過受影響版本或已被利用 → 對外開放的服務 → 其餘依分數。

第四,兩起事件的起點都是「金鑰沒換」。 LiteLLM 的起點是一把四個多月前就公開、卻沒有撤銷的金鑰;Railway 則是環境變數集中存放在平台。這和我們在 Zeabur 事件看到的結構一樣:金鑰放在別人那裡,就要能隨時換掉。


三、開發團隊的六個處理步驟

步驟 1:先列出你實際在跑什麼

用 SBOM 工具或套件鎖定檔(package-lock.json、poetry.lock、go.sum、Cargo.lock)列出所有服務的語言版本與相依套件,包含 CI runner 與容器映像檔裡的版本。重點欄位:Node.js 分支、Python 的 certifi 版本、Go 編譯版本、是否用到 LiteLLM、Wasmtime、自架 GitLab、Plex。

步驟 2:查有沒有裝過 LiteLLM 1.107.0

在每台可能裝過的主機、CI 快取與映像檔中,查 pip show litellm、litellm-1.107.0.dist-info、cook.pth、cook.py、sitecustomize.py,並比對是否跑過受影響標籤的映像檔。LiteLLM 官方提醒:在受影響環境不要直接 pip install 修復,因為 Python 啟動時會重新執行惡意檔案。官方建議從頭重建虛擬環境與映像檔,鎖定 litellm==1.106.2。若該主機能連外網,就假設資料已外流。

步驟 3:從乾淨機器輪替金鑰

LiteLLM 受影響主機:輪替該主機能讀到的所有憑證,包含雲端 IAM 角色、代理資料庫裡的所有模型供應商金鑰、master key 與 virtual key、DATABASE_URL 密碼與行程環境變數裡的機密。Railway 用戶:依官方建議輪替所有環境變數與私有映像庫憑證,並檢查服務日誌。輪替後到雲端稽核日誌查這段期間是否有來自外部的使用紀錄。

步驟 4:鎖版本、驗來源

相依套件一律鎖定明確版本,不用 latest 或 main-stable 這類會被改指向的標籤;容器映像檔用 digest 固定。LiteLLM 這次的惡意版本是從名稱只差一個連字號的分叉 repo 建置,所以 CI 拉取來源要寫死組織名稱,並比對套件雜湊或簽章。

步驟 5:升級前先測憑證鏈

升級 certifi(2026.10.19 以上)、Go(1.27.3/1.26.10)、Node.js(v26.12.1/v24.22.1/v22.23.4)之前,先清點對外網站、API 與內網服務用的 TLS 憑證是由誰簽發。若有 eMudhra/emSign 簽發的憑證,先換憑證再升級;升級後在測試環境實際連一次所有對外呼叫的 API。Go 服務要重新編譯,內含 certifi 的映像檔要重建。

步驟 6:依「已利用>公網暴露>分數」排修補

已列入 CISA KEV 的 Plex Media Server、對外開放的自架 GitLab(CVE-2026-110264)先修;GitLab 官方沒有暫時緩解方法,只能升級。接著處理 Node.js、Chrome、Wasmtime、CPython tarfile 與 Java SE 的例行升級。每一項記下修補日期與驗證結果,下次修補潮時就有基準可比。

驗收標準:完成後應能回答三個問題——哪些主機在 10 月 21 日拉過 LiteLLM 1.107.0;Railway 與其他平台上的金鑰是否已全部換新;升級憑證相關套件後,所有對外 API 是否仍能正常連線。三題都能回答,這一波才算處理完。


四、結語:修補要快,但順序更重要

一週內同時出現這麼多公告,最常見的錯誤是照 CVSS 分數由高到低修,結果把已經外流的金鑰留到最後。先處理「已經發生的事」,再處理「可能發生的事」,是這一週最實用的原則。

如果你的團隊正在導入 AI 閘道、代理或自動化流程,需要一起盤點相依套件、金鑰存放位置與輪替流程,歡迎與我們聯繫,我們可以從一份相依清單與金鑰清單開始。


免責說明:本文依各官方公告整理,資料截至 2026 年 10 月 30 日。各項修補版本、影響範圍與建議可能更新,實際處理前請以官方最新公告為準。本文不構成資安顧問意見。

參考來源


相關推薦與延伸閱讀

常見問題

我們有用 LiteLLM,怎麼知道有沒有中招?
依 LiteLLM 官方事件報告,受影響的是 PyPI 上的 litellm==1.107.0,以及 Docker Hub、GHCR 的 v1.107.0、latest、main-latest、main-stable 標籤。先查 pip show litellm 與是否跑過受影響的映像檔,再找 site-packages 裡的 cook.pth、cook.py、sitecustomize.py。官方提醒:找不到不代表沒事;若該主機能連外網,應假設資料已外流,從乾淨機器輪替它能存取的所有金鑰,並鎖定 1.106.2 或事件前發布的明確版本。
eMudhra 憑證這件事,會讓我們的網站或內部系統連不上嗎?
有可能,要看憑證鏈。certifi 2026.10.18 曾移除全部 emSign 根憑證,2026.10.19 再把未受影響的補回;Go 1.27.3 與 1.26.10 會拒絕經過特定中繼憑證的鏈;Node.js 這次也更新了 CA 憑證。若你的對外網站、API 或內網服務使用 eMudhra/emSign 簽發的憑證,升級後用戶端可能驗證失敗,要先換憑證。
這麼多修補同時出來,應該先修哪一個?
先處理「已經裝過受影響版本」與「已被利用」的項目,例如 LiteLLM 1.107.0、Railway 上的環境變數、已列入 CISA KEV 的 Plex Media Server;其次是對外開放的服務,例如自架 GitLab(CVE-2026-110264,CVSS 10.0);最後才依 CVSS 分數排其餘項目。
沒有用 Railway,環境變數外洩跟我們有關係嗎?
有。任何把 API 金鑰放在第三方部署平台環境變數的團隊,都有同樣的結構風險。Railway 官方說明這次入侵屬於一系列鎖定平台公司、目標是 AI 推論服務商的攻擊。值得趁這次檢查:每把金鑰放在哪、誰能讀、多久能全部換掉。
分享這篇文章:
FacebookLINE

準備好讓 AI 幫你工作了嗎?

現在開始你的數位轉型,預約 30 分鐘諮詢,我們協助你找到最合適的 AI 切入點。

30 分鐘深度了解你的業務,給你具體建議

Content Standards

內容維護與資料來源

內容維護與更正

內容維護窗口:優創智能 YOTRON 內容團隊。個別文章的作者、發布與內容更新日期以該頁標示為準。

網站版本更新:

資料來源與方法

文章中的外部資料、工具規格與比較基準以文內連結及標示日期為準;觀點、測試方法與實作建議由優創智能內容團隊整理。

聯絡與內容更正(Contact)

需要查核、補充或更正內容,可透過聯絡頁,或寄信至info@yotron-ai.com。公司與團隊資訊可見關於我們。

聯絡方式:電話02-2720-8130、Email info@yotron-ai.com。