資安雷達 2026 年 5 月 28 日

2026-05-28 — Kata Containers guest escape CVE-2026-47243、yamcs-core 雙 RCE、Erlang atom exhaustion

primary=https://github.com/advisories/GHSA-2gv2-cffp-j227 primary=https://github.com/advisories/GHSA-2g95-6x5q-xjwj primary=https://github.com/advisories/GHSA-vmwp-vh32-rj75 primary=https://erlef.org/blog/security/atom-exhaustion

Kata Containers 客戶機逃脫漏洞(CVE-2026-47243,CVSS 8.4):virtiofs 路徑穿越讓 guest-root 在 host 建立 cron 後門

GitHub Security Advisories · 2026-05-28

Kata Containers runtime-rs 的 virtio-fs 實作存在客戶機逃脫(guest escape)漏洞,識別為 CVE-2026-47243(GHSA-2gv2-cffp-j227),CVSS v4 基礎分數 8.4(High)。取得客戶機 root 權限的攻擊者可繞過客戶機核心的路徑驗證,在宿主的 /etc/cron.d 建立符號連結,最終以 host-root 執行任意程式碼。

漏洞機制

問題根源在於 virtiofsd--sandbox none --seccomp none 旗標在宿主端以不沙盒化方式執行,且未對 FUSE 請求中的路徑進行充分驗證。攻擊路徑:

  1. 攻擊者以 guest-root 直接存取 virtio-fs PCI 裝置
  2. 映射 virtio PCI BAR,還原 guest 實體位址
  3. 構造自訂 virtqueue,發送 FUSE_SYMLINK 請求,目標路徑指向宿主的 /etc/cron.d
  4. 符號連結的目標透過 /proc/<pid>/root/... 指向 guest 內的 payload
  5. 宿主 cron 以 root 執行 guest 控制的 payload

PoC 已確認可在宿主 /run 目錄建立 host-root 擁有的檔案。

受影響版本與修補

受影響github.com/kata-containers/kata-containers 在 commit ffa59ce3aa78(2026-05-19)之前的所有版本。修補版本:Kata Containers 3.31.0;fix commit:ffa59ce3aa7877d067c9a372df0c329a23a01744。未能立即升級的使用者應評估限制 virtio-fs 使用或啟用額外的 seccomp/AppArmor profile。

原始來源:GHSA-2gv2-cffp-j227 — Kata Containers guest escape


yamcs-core 雙 Critical RCE:Jython 注入(GHSA-2g95-6x5q-xjwj)與 Mission DB Algorithm Override(GHSA-vmwp-vh32-rj75)

GitHub Security Advisories · 2026-05-28

航太任務控制框架 yamcs 的 yamcs-core(Maven)發布兩項 Critical RCE 修補,均允許已認證使用者在伺服器上執行任意程式碼。CVSS 均為 Critical 等級(9.x)。

GHSA-2g95-6x5q-xjwj:Jython Algorithm Code Injection

yamcs 的 Mission Database 支援以 Python(透過 Jython JVM 實作)定義 algorithm 的計算邏輯。API 端點允許已認證使用者上傳 algorithm 程式碼,但未充分驗證輸入,攻擊者可注入任意 Jython 程式碼,在 yamcs 伺服器的 JVM 上下文中執行,取得與 yamcs 服務帳號相同的 OS 權限。

GHSA-vmwp-vh32-rj75:Mission Database Algorithm Override

第二個漏洞與 Mission Database 的 algorithm override 機制相關:已認證使用者可透過特定 API 覆寫(override)預設 algorithm 定義,注入惡意邏輯並在 Yamcs 伺服器上執行。兩個 CVE 的攻擊面相近,但觸發路徑不同。

影響範圍

yamcs 廣泛用於航太工業的地面支援系統(GSS)與任務控制系統(MCS),包含衛星遙測遙控。受影響的任何 yamcs 部署若對不完全可信的已認證使用者開放 algorithm 設定 API,均面臨 RCE 風險。建議立即套用官方發布的修補版本,並審查 algorithm 設定 API 的存取控制策略。

原始來源:GHSA-2g95-6x5q-xjwjGHSA-vmwp-vh32-rj75


Erlang/Elixir Atom Exhaustion:佔 EEF CNA 三分之一 CVE 的 DoS 攻擊面全解析

Erlang Ecosystem Foundation · 2026-05-28

Erlang Ecosystem Foundation(EEF)安全工作組發布 atom exhaustion 分析報告,指出此類漏洞佔 EEF CNA 發布的所有 CVE 的 35.8%,是 BEAM 生態系(Erlang/Elixir)最常見的單一漏洞類型,也是許多開發者低估其嚴重性的 DoS 向量。

攻擊機制

BEAM 執行時期(Erlang VM)將 atom 儲存在全域 atom table 中,atom 不被垃圾回收。當 atom table 耗盡時,整個 VM 當機——影響所有在同一 VM 上執行的所有 Erlang/Elixir 應用程式。攻擊者只需能控制觸發動態 atom 建立的輸入,即可發動 DoS。

常見漏洞模式

容易觸發 atom exhaustion 的程式碼模式,分為明顯與隱微兩類:

  • 明顯binary_to_atom(user_input)String.to_atom(input)list_to_atom("field_" ++ UserInput)
  • 隱微:Elixir 字串插值到 atom(:"field_#{user_input}")、JSON 解析時以 atom keysJason.decode(json, keys: :atoms))、URI scheme 動態轉換

JSON 解析的 keys: :atoms 選項是 Elixir 開發者常見的陷阱——看起來方便,實際上將外部 JSON 的任意 key 名稱直接轉為 atom,攻擊面極大。

緩解策略

首選:完全避免從外部輸入動態建立 atom,改用查找表:

case Scheme of
  <<"http">>  -> http;
  <<"https">> -> https;
  _           -> error
end

次選:使用 binary_to_existing_atom/1String.to_existing_atom/1——僅轉換已存在的 atom,對未知輸入拋出例外而非建立新 atom。偵測工具:Elixir 的 Credo 提供 UnsafeToAtom check(預設關閉,需手動啟用)。

原始來源:Erlang Ecosystem Foundation — Atom Exhaustion Is Not a Footgun. It's One Third of Our CVEs


End of article
0
Would love your thoughts, please comment.x
()
x