MCP 生態系統同日爆出七起資安公告,含 SSTI 遠端程式碼執行
GitHub Security Advisories · 2026-08-25
2026年8月25日,GitHub 同日公布七則涵蓋 Chainlit、deepseek-mcp-server、consciousness-explorer、genieacs-mcp、mcp-contextforge-gateway 五個 MCP 相關專案的資安公告。弱點集中在伺服器對外部輸入缺乏驗證,攻擊面包含 SSRF、驗證缺失、任意檔案寫入、DNS rebinding 與 SSTI。
漏洞機制
Chainlit 的 GHSA-hvfh-5mj3-5f3j(CVE-2026-45019)在 /mcp 端點接受未經驗證的 url 與 headers,讓 SSE 與 streamable-http 傳輸被用來對內部網路或雲端 metadata 服務發出 SSRF 請求。攻擊者無需登入即可觸發,同一傳輸層的延伸問題另列於 GHSA-w3fx-mc44-mf6j。
genieacs-mcp 的 GHSA-cmwv-wf9p-p8wx 屬於 DNS rebinding:MCP 的 Streamable HTTP 傳輸若不檢查請求的 Host/Origin 標頭,攻擊者可先讓網域指向安全 IP 通過檢查,再快速改指向 127.0.0.1 等內網位址,誘使受害者瀏覽器把本機執行的 MCP 工具當成一般網站呼叫。本機 MCP 伺服器常帶有檔案系統、shell 等高權限工具,一旦繞過即可能延伸為任意操作。
mcp-contextforge-gateway 的 GHSA-vwf3-4xxj-qg6h 出在 PromptService._render_template 使用未加沙盒的 Jinja2 Environment();具備樣板建立權限者可寫入如 __builtins__.__import__('os').popen() 的語法,於渲染時取得閘道行程權限執行任意程式碼。這是本輪唯一被列為可直接遠端執行程式碼的公告。deepseek-mcp-server 與 consciousness-explorer 則分別涉及身分驗證/授權缺陷與任意檔案寫入。
受影響版本
Chainlit 受影響版本為 2.4.0rc0 至 2.11.1;mcp-contextforge-gateway 為 0.1.0 至 0.9.0。其餘四則公告的確切版本範圍請見各自公告頁,多屬各專案 1.0 前的早期版本。
修補與緩解
Chainlit 於 2.12.0 改為白名單機制,MCP 功能需明確啟用並過濾標頭、停用重新導向;mcp-contextforge-gateway 於 1.0.0 改用 SandboxedEnvironment。其餘公告也都已提供修補版本,詳見下列清單。
- Chainlit —
GHSA-hvfh-5mj3-5f3j(CVE-2026-45019):MCP 傳輸層 SSRF,已於 2.12.0 修補 - Chainlit —
GHSA-w3fx-mc44-mf6j:MCP 傳輸層問題可被串成遠端程式碼執行,已修補 - deepseek-mcp-server —
GHSA-72f3-6w86-7rv3:缺少身分驗證,已修補 - deepseek-mcp-server —
GHSA-fh3r-g96v-f578:授權繞過,已修補 - consciousness-explorer —
GHSA-xc9g-j69q-37xw:任意檔案寫入,已修補 - genieacs-mcp —
GHSA-cmwv-wf9p-p8wx:Streamable HTTP 傳輸缺乏 DNS rebinding 防護,已修補 - mcp-contextforge-gateway —
GHSA-vwf3-4xxj-qg6h:未沙盒化 Jinja2 造成 SSTI 遠端程式碼執行,已於 1.0.0 修補
原始來源:Chainlit SSRF、Chainlit 傳輸層問題、deepseek-mcp-server 驗證缺失、deepseek-mcp-server 授權繞過、consciousness-explorer 任意檔案寫入、genieacs-mcp DNS rebinding、mcp-contextforge-gateway SSTI
gRPC Erlang 套件一天內修補四則公告,含一起危急等級 RCE
GitHub Security Advisories · 2026-08-25
Erlang 的 grpc 套件同日公布四則資安公告,涵蓋兩起服務拒絕風險、一起授權繞過與一起危急等級遠端程式碼執行,修補版本統一收斂在 1.0.0。四者根源都在於對外部輸入缺乏邊界檢查。
漏洞機制
最嚴重的 GHSA-grp7-v8xh-rj7h(CVE-2026-48853,CVSS 9.2 危急)出在 GRPC.Codec.Erlpack.decode/2 直接呼叫 :erlang.binary_to_term/1 卻未加 :safe 選項。攻擊者可用還原出的函式項讓伺服端行程執行任意程式碼,或以大量新增 atom 撐爆 BEAM VM 的 atom table 造成節點當機,且不需身分驗證。
GHSA-mwr4-5g34-j5cq(CVE-2026-48599,CVSS 7.6 高風險)則是 HTTP-to-gRPC 轉譯時,路徑綁定欄位以 Map.merge/2 合併且優先度最低,query string 或 JSON body 可藉此覆蓋路徑中的使用者 ID 等欄位。已登入的攻擊者能藉此繞過歸屬檢查存取他人資源。另兩則分別是 GHSA-6ccx-9c9f-327w 的無上限 gzip 解壓縮,以及 read_full_body/3 對請求本體大小無限制累積的 GHSA-q8gf-9rvj-gmgj,皆可導致記憶體耗盡的服務拒絕。
受影響版本
RCE 影響 0.4.0 以上、1.0.0 以下版本;路徑綁定覆蓋問題影響 0.8.0 以上、1.0.0 以下版本。四則公告的修補版本一致收斂在 1.0.0,兩起服務拒絕問題的起始版本請見各自公告。
修補與緩解
升級至 grpc 1.0.0 可一次解決全部四項問題:解碼流程改用具備 :safe 保護的反序列化,並對請求本體與解壓縮加入大小上限。路徑綁定的欄位優先序也已調整為不可被查詢參數或本體覆寫。
- grpc (Erlang) —
GHSA-6ccx-9c9f-327w:無上限 gzip 解壓縮可致記憶體耗盡,已於 1.0.0 修補 - grpc (Erlang) —
GHSA-q8gf-9rvj-gmgj:read_full_body/3請求本體無限制累積,已於 1.0.0 修補 - grpc (Erlang) —
GHSA-mwr4-5g34-j5cq(CVE-2026-48599):路徑綁定可被 query string/body 覆寫造成授權繞過,已於 1.0.0 修補 - grpc (Erlang) —
GHSA-grp7-v8xh-rj7h(CVE-2026-48853):不安全反序列化導致遠端程式碼執行,已於 1.0.0 修補
AshAuthentication OAuth2/OIDC 帳戶接管漏洞,CVSS 9.2 危急
GitHub Security Advisories · 2026-08-25
Elixir 的 AshAuthentication 套件存在一則危急等級公告 GHSA-777c-2fxx-qr28(CVE-2026-49757,CVSS 9.2),起因是 OAuth2/OIDC 登入流程僅以 email 比對使用者身分。
漏洞機制
標準 OpenID Connect 要求以 iss/sub claim 組合比對使用者身分,AshAuthentication 卻只用 email 做比對。攻擊者只要在受信任的 OAuth 供應商上用受害者的 email 註冊帳號,就能取得受害者在應用端既有帳戶的完整權限;供應商 email 驗證寬鬆、或受害者信箱曾被釋出重新註冊時風險更高。
受影響版本
受影響版本為 0.1.0 以上、4.14.0 以下,以及 5.0.0-rc.0 以上、5.0.0-rc.10 以下。兩條版本線需分別升級才能完整修補。
修補與緩解
專案已發布 4.14.0 與 5.0.0-rc.10,改回以 iss/sub 作為身分比對依據。使用舊版且啟用 OAuth2/OIDC 登入的服務應立即升級,並檢查是否已有帳戶因 email 比對錯誤而被關聯。
- ash_authentication (Elixir) —
GHSA-777c-2fxx-qr28(CVE-2026-49757):OAuth2/OIDC 以 email 比對使用者身分導致帳戶接管,已於 4.14.0/5.0.0-rc.10 修補