![]()
從漏洞公開到服務(wù)器淪陷,只用了9小時41分鐘。這不是演習(xí),是Sysdig安全團隊剛剛記錄的真實攻擊——攻擊者連現(xiàn)成的攻擊代碼都沒用,純靠看公告手搓了一個。
一個被漏掉的WebSocket端點
Marimo是個挺有意思的開源項目,GitHub攢了約2萬星,定位是"響應(yīng)式Python筆記本"。簡單說,它想讓數(shù)據(jù)科學(xué)家寫代碼像搭積木一樣實時反饋。但就是這個看起來人畜無害的工具,藏了個致命后門。
問題出在/terminal/ws這個WebSocket端點上。Marimo的其他端點都老老實實調(diào)用了validate_auth()做身份驗證,唯獨這個終端接口完全跳過了檢查。攻擊者連賬號都不用注冊,連上WebSocket就能直接拿到一個完整的交互式偽終端(PTY)shell。
shell跑在Marimo進程的權(quán)限下,意味著攻擊者可以執(zhí)行任意系統(tǒng)命令,不用費勁構(gòu)造復(fù)雜載荷就能在宿主機上橫著走。
這個漏洞編號CVE-2026-39987,CVSS v4.0評分9.3,屬于" Critical"級別。受影響版本包括0.20.4及之前所有版本。
攻擊者的"閱讀理解"能力
按常理,漏洞公開后總有個緩沖期——安全團隊打補丁、攻擊者等PoC(概念驗證代碼)流出。但這次攻擊者等不及了。
![]()
「第一起利用嘗試發(fā)生在公告發(fā)布后9小時41分鐘。」Sysdig威脅研究團隊在報告中寫道。
更離譜的是,當(dāng)時根本沒有任何公開的PoC代碼。攻擊者完全是讀了安全公告里的技術(shù)細節(jié),手動拼湊出一個能用的漏洞利用程序。這相當(dāng)于看了菜譜描述,沒看視頻教程,直接上手炒出了一道菜。
入侵過程也頗有章法。攻擊者先執(zhí)行了一個結(jié)構(gòu)化的驗證腳本,確認(rèn)漏洞可用,然后切換到手動偵察模式。從拿到shell到找到目標(biāo),只用了3分鐘——.env文件被定位并外傳,里面躺著AWS訪問密鑰和應(yīng)用密鑰。
小眾軟件成新靶場
Marimo不是那種人手一個的大眾工具。約2萬星的體量,在開源世界里算"小而美"。但攻擊者顯然在系統(tǒng)性地監(jiān)控安全公告,專門挑這種有實際用戶基數(shù)、但安全響應(yīng)可能跟不上的項目下手。
這次攻擊的源頭IP已被鎖定:49.207.56[.]74。Sysdig建議安全團隊立即檢查是否有來自該IP的WebSocket終端連接和憑證竊取行為。
補丁已經(jīng)發(fā)布,但問題是:有多少部署了Marimo的團隊知道這件事?
開源項目的安全公告?zhèn)鞑ユ湕l一向脆弱。開發(fā)者可能關(guān)注了GitHub Release,但運維團隊未必;安全團隊可能掃了CVE庫,但業(yè)務(wù)線負責(zé)人可能完全沒概念。9小時41分鐘的窗口期,對組織協(xié)同良好的團隊夠用了,對信息孤島嚴(yán)重的團隊就是致命的。
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.