觀點 · 資訊分享

Python 筆記本 Marimo 的終端機介面沒驗證身分:4/8 就有修正版,4/23 被 CISA 列入已遭利用清單

Marimo 的終端機 WebSocket 端點漏了身分驗證(CVE-2026-39987),0.23.0 已修。專案早在 4 月 8 日發布安全公告,CISA 在 4 月 23 日把它列入已知遭利用漏洞清單,限期 5 月 7 日前修補。

發布
2026-04-23
篇幅
約 3 分鐘 · 1,395 字
結構
7 節 + 3 題常見問題
標籤
#Marimo#CVE-2026-39987#CISA KEV#Python
Python 筆記本 Marimo 的終端機介面沒驗證身分:4/8 就有修正版,4/23 被 CISA 列入已遭利用清單

一句話看懂:Marimo 的終端機介面漏了身分驗證,專案 4 月 8 日就發布修正,但 CISA 4 月 23 日把它列入「已知遭利用漏洞」清單,自架的人要儘快升級到 0.23.0。

Marimo 終端機端點沒驗證身分資訊圖卡:Python 筆記本的終端機介面漏了登入檢查,已被列入 CISA 清單

先用白話講:這個漏洞是什麼?

Marimo 是一種在瀏覽器裡寫 Python 的筆記本。它有一個「終端機」功能,等於在網頁裡開一個可以下指令的黑視窗。

正常來說,進這個黑視窗前要先確認你是誰。這個漏洞就是:負責終端機的那個入口,忘了檢查身分,其他入口都有檢查,唯獨它沒有,就像整棟大樓都有門禁,卻有一扇側門沒上鎖。

發生什麼事

  • 2026-04-08:Marimo 專案發布安全公告 GHSA-2679-6mx9-h9xc(CVE-2026-39987)
  • 2026-04-09:NVD 收錄這個 CVE
  • 2026-04-23:CISA 把它加入已知遭利用漏洞(KEV)目錄,修補期限為 2026-05-07

公告說明:Marimo 的 /terminal/ws 端點在接受連線前,只檢查運作模式與平台是否支援,沒有做身分驗證,因此未登入的人可能取得互動式終端機,並執行系統指令。NVD 記載修正版本為 0.23.0,CVSS 3.1 分數 9.8;GitHub 公告的 CVSS 4.0 為 9.3。

哪些人要特別注意?

情況 風險
只在本機使用、不對外開放 風險相對低
以編輯模式架在伺服器或 Docker,且能被外部連到 高:端點沒驗證
版本在 0.23.0 以前 受影響,需升級

公告還提到,在預設的 Docker 部署下,取得的 shell 會以 root 身分運作,所以一旦被利用,影響不小。

給開發者的技術細節

  • 升級:pip install -U marimo,確認版本是 0.23.0 或更新
  • 公告指出,其他 WebSocket 端點會正確呼叫驗證函式,只有終端機端點漏掉;這提醒我們寫 WebSocket 時,驗證不能只靠全域中介層,要在每個端點確認
  • 暴露在網路上的服務,建議放在反向代理、VPN 或其他身分驗證之後
  • KEV 只說明「有被利用的證據」,官方資料沒有說明攻擊規模或對象,也沒有註明是否與勒索軟體相關

我的看法

自架服務的人常會想:「我這個小工具沒人知道,不會被打。」但這類漏洞公開後,自動化掃描會很快找上門。這次從公告到被 CISA 列入清單只有 15 天,提醒我:凡是能下指令的服務(終端機、管理面板、筆記本),都不該直接暴露在公開網路上。

如果你在 NAS 或雲端主機上跑筆記本類工具,現在就檢查版本,並確認有沒有開放到外網;沒必要對外的,直接限制成只在內網或 VPN 內使用。

名詞小辭典

  • Marimo:響應式的 Python 筆記本,在瀏覽器中寫與執行程式。
  • WebSocket:網頁與伺服器之間保持連線、即時雙向傳資料的技術。
  • CISA KEV:美國 CISA 維護的「已知遭利用漏洞」清單。
  • CVSS:替資安漏洞打嚴重程度分數的標準,滿分 10。

資料來源

常見問題

Marimo 是什麼?
一種響應式的 Python 筆記本,類似 Jupyter,可以用瀏覽器寫與執行 Python 程式。
被列入 CISA KEV 代表什麼?
KEV 是美國 CISA 維護的「已知遭利用漏洞」清單,列入代表有證據顯示這個漏洞已被實際利用;聯邦機構被要求在期限前修補,其他單位也常把它當作優先處理的參考。這個漏洞的期限是 2026-05-07。
我該怎麼處理?
把 Marimo 升級到 0.23.0 或更新版本;並避免把編輯模式的服務直接開放到公開網路,至少放在反向代理、VPN 或其他身分驗證後面。
LINE