關閉選單
未修復的漏洞使 Ollama 自動更新程式變成了一個持續存在的遠端程式碼執行載體

Striga 的研究人員揭露了 Ollama 的 Windows 自動更新程式中的兩個漏洞(CVE-2026-42248、CVE-2026-42249),這兩個漏洞如果連接在一起,可能會允許攻擊者秘密植入一個持久性可執行文件,該文件會在每次登入時執行。

Striga聯合創始人Bartłomiej Dmitruk解釋:「Striga在對Ollama程式碼庫進行審計時發現了這條漏洞鏈。Windows桌面用戶端捆綁了本機Ollama伺服器、聊天介面和系統托盤圖示。它會在登入時自動啟動,並在後台檢查更新。」

Ollama 是用於在本地運行大型語言模型的開源工具。它適用於那些不希望資料離開本機計算機,也不想受 API 費用、使用限製或網路連線要求限制的使用者。CVE-2026-42248 的漏洞很簡單:Windows 建置版本的自動更新程式簽名驗證函數存在,並且會被調用,但它什麼也不做,導致下載的任何內容都會被執行。

CVE-2026-42249 是一個路徑遍歷漏洞,其根源在於 Ollama 的 Windows 更新程式直接從 HTTP 回應標頭建立暫存安裝程式的本機路徑,而沒有對其進行清理。

要成功利用漏洞,攻擊者需要控制 Ollama 收到的更新回應。Dmitruk 確定了三種途徑:直接破壞更新基礎架構;透過本地立足點(OLLAMA_UPDATE_URL變數、hosts檔案編輯或偽造的根憑證)將用戶端重定向到攻擊者控制的伺服器;或透過偽造的憑證進行 TLS 中間人攻擊或 DNS 劫持,從而在網路層級進行攔截。

對於次要路徑(僅涉及 CVE-2026-42248,不涉及遍歷),Ollama 還需要從啟動資料夾快捷方式啟動,這樣DoUpgradeAtStartup函數才會觸發。主路徑則不需要這樣做;無論 Ollama 是否啟動,Windows 都會從使用者的啟動資料夾運行已放置的文件。

Striga 的研究人員於 2026 年 1 月下旬將調查結果報告給了 Ollama 官方的安全郵箱,Dmitruk 表示,但郵箱一直沒有回應。他告訴我們,一位維護者的個人郵件只收到過一次確認回复,之後便杳無音信。 “我們沒有看到維護者就這兩個 CVE 漏洞發表任何公開聲明。”

在五週沒有任何進展之後,CERT Polska 接管了披露協調工作,分配了 CVE 編號,並在 4 月 29 日發布了警告,確認 Ollama for Windows 版本 0.12.10 至 0.17.5 存在漏洞。

用戶該怎麼做?

Dmitruk 告訴 Help Net Security:「CERT Polska 使用我們的 PoC 對 0.15.1 進行了端到端測試,並將其列為已確認存在漏洞,對未經測試的版本格外謹慎。我們擴展了驗證範圍:對每個版本標籤執行了靜態檢查,檢查了四個鏈指標—— (filepath.Join(UpdateStageDir, etag, …) , verifyDownload(){ return nil } , OLLAMA_UPDATE_URL override , STARTF_TITLE v0.22.0 版本,所有這四個指標都存在,並且該範圍內沒有任何提交涉及易受攻擊的函數。)

Dmitruk告訴我們,最新的 Ollama 版本(v0.23.0)兩天前發布,仍然沒有補丁。Help Net Security 已聯繫 Ollama 的維護者,詢問他們計劃何時發布修復程序,但尚未收到他們的回應。在找到最終解決方案之前,Dmitruk 建議使用者在 Ollama 的設定中關閉自動下載更新選項。

關閉此功能會阻止背景下載檢查(updater.go:324),從而避免在獲取任何更新回應之前進行路徑遍歷寫入,最終導致磁碟上沒有任何內容寫入。為了徹底解決問題,用戶還應該從%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup中刪除所有現有的 Ollama 快捷方式。

資料來源:https://www.helpnetsecurity.com/2026/05/05/ollama-windows-vulnerabilities-cve-2026-42248-cve-2026-42249/
 
針對 Ollama Windows 版本發現的 CVE-2026-42248 及 CVE-2026-42249 安全漏洞進行深度分析