零日漏洞的爆發與影響範圍
攻擊者正在積極利用 Gogs(一款流行的自架 Git 服務)中的一個零日漏洞,漏洞編號為CVE-2025-8110,Gogs 的維護人員正在修復漏洞,任何運行 Gogs 伺服器(版本 0.13.3 或更早版本)且該伺服器暴露於互聯網並啟用了開放註冊(這是預設)而該開源專案目前還沒有修復程式。
據 Wiz 研究人員稱,在持續的攻擊中,已有超過 700 個實例遭到入侵。他們將這次零日漏洞的發現描述為“偶然的”,並表示該漏洞是在 7 月他們調查受感染機器上的惡意軟體時發現的。
該漏洞的目標對象是所有運行 Gogs 伺服器且符合兩大條件的實例:伺服器暴露於網際網路,以及開放註冊功能被啟用(這是 Gogs 的預設設置)。開放註冊允許任何攻擊者輕鬆建立一個帳戶,獲得建立儲存庫的權限,這是觸發 RCE 攻擊的先決條件。由於 Gogs 是一款輕量級且易於部署的自架 Git 方案,它在廣泛的組織中被採用,包括一些中小型企業,使本次零日攻擊的潛在影響範圍極為廣泛。超過 700 個已被確認的受感染實例,顯示了攻擊者利用該漏洞的速度和效率。
CVE-2025-8110 的技術本質:繞過與符號連結濫用
CVE-2025-8110 本質上是繞過了一個先前已修復的漏洞(CVE-2024-55947),該漏洞允許已認證使用者覆蓋儲存庫之外的文件,從而導致遠端程式碼執行 (RCE),研究人員公佈了完整的妥協指標清單,可以依照需要閱讀。
先前修復的 CVE-2024-55947 試圖限制已認證用戶濫用 Gogs 的 API 來覆蓋儲存庫外部的系統文件。然而,研究人員發現這個修復並未充分考慮到 符號連結(Symbolic Links,或稱 Symlinks) 的濫用。
Git 系統本身支援符號連結,這些連結充當捷徑,可以指向儲存庫之外的系統檔案或目錄。攻擊者利用 Gogs 的 PutContents API(用於修改儲存庫內容的 API)來寫入數據到這個符號連結。系統會「跟隨」連結的指示,最終將惡意數據寫入到儲存庫外部的系統目標檔案。
攻擊流程分解與 RCE 實現
研究人員指出,攻擊者利用此漏洞實現 RCE 的步驟對於任何擁有儲存庫建立權限的用戶來說都是「微不足道」的,通常只需四個步驟:
攻擊者建立一個標準的 Git 儲存庫(通過開放註冊取得權限)。
他們向儲存庫提交一個符號連結,該連結精確指向一個敏感的目標系統檔案。
攻擊者使用 PutContents API 接口向這個符號連結寫入惡意數據。
系統執行寫入操作,遵循符號連結,覆蓋儲存庫外部的目標文件。
透過覆蓋一個關鍵的 Git 配置檔案 .git/config(特別是修改其中的 sshCommand 參數),攻擊者可以強制系統在執行 Git 操作時執行任意的 Shell 命令,從而實現完全的遠端程式碼執行(RCE)。一旦 RCE 成功,攻擊者就可以完全控制 Gogs 伺服器,竊取原始碼、部署惡意軟體,或將其作為進一步攻擊的跳板。
攻擊活動的妥協指標與威脅歸因
建議組織要注意名稱為隨機 8 個字元的新建立的儲存庫,或對 PutContents API 的意外使用。
在 Wiz 觀察到的持續攻擊中,被入侵的 Gogs 實例大多具有一個共通的妥協指標(IoC):它們都有一個在特定時間(7 月 10 日)建立的、名稱為隨機 8 個字元的擁有者/儲存庫。此外,這些攻擊中部署的惡意負載(Payload)使用了 Supershell 遠端命令與控制(C2)框架。Supershell C2 過去曾與亞洲地區的威脅行為者相關聯,尤其是被 Mandiant 等安全公司記錄為與中國相關的間諜活動組織所利用,這為本次攻擊的來源提供了一條模糊但指向性的線索。儘管目前尚不清楚攻擊者在獲得存取權限後的最終目的(因為在發現後惡意軟體被迅速清除),但控制一個 Git 服務器意味著對企業軟體供應鏈的核心擁有控制權,其潛在威脅極大。
緊急緩解建議與長期防禦策略
由於 Gogs 官方尚未釋出修復程式,組織必須立即採取行動以緩解風險:
立即限制網際網路暴露: 將 Gogs 服務器移至防火牆後方,或將其置於虛擬私人網路(VPN)之後,確保只有經過授權的內部用戶才能存取。這是最有效的臨時防禦措施。
禁用開放註冊: 如果開放註冊功能不是業務必需,應立即將其禁用。這將阻止未經授權的攻擊者建立帳戶來觸發漏洞。
監控與審計: 積極監控 Gogs 伺服器日誌,特別是針對 PutContents API 的不尋常使用請求,以及名稱為隨機 8 個字元的新儲存庫建立活動。
準備修補: 持續關注 Gogs 官方維護人員的更新,一旦 CVE-2025-8110 的修復版本(預計為 0.13.4 或更高)釋出,應立即進行升級。
從長遠來看,此事件強調了自架開源服務的固有風險,以及對軟體供應鏈安全的高度重視。組織必須將安全防護從網路邊界延伸至應用程式層次,並對任何暴露於網際網路的開發工具實施零信任(Zero Trust)原則,確保即使在發生零日漏洞的情況下,系統的權限和隔離機制也能限制潛在的損害範圍。
註:
Gogs是用Go語言編寫的,它允許用戶在自己的伺服器或雲端基礎設施上託管Git儲存庫,而不是使用GitHub或其他第三方。ogs 和 Git 都支援符號連結(或簡稱符號連結)。符號連結充當指向其他檔案或目錄的指標或快捷方式,並且可以指向倉庫外部的物件。此外,Gogs API 還允許在常規 Git 協定之外修改檔案。 資料來源:https://www.theregister.com/2025/12/10/gogs_0day_under_active_exploitation/?td=keepreading
探討一款廣泛使用的自架 Git 服務 Gogs 正面臨的嚴峻安全危機——一個追蹤編號為 CVE-2025-8110 的零日漏洞正被攻擊者主動大規模利用。該漏洞允許未經授權的用戶透過巧妙繞過先前修復的安全措施,在伺服器上實現遠端程式碼執行 (RCE)。