觀點 · 資訊分享

Ollama Windows 版的自動更新沒驗簽章:兩個 CVE 串起來,壞人能讓你的電腦自動執行惡意程式

NVD 在 4 月 29 日公開兩個 Ollama for Windows 漏洞:更新檔不驗證簽章,加上更新時檔案路徑可被竄改。兩者串起來,在靜默自動更新下可能不被察覺地執行任意程式。已測試受影響版本為 0.12.10 到 0.17.5。

發布
2026-04-29
篇幅
約 3 分鐘 · 1,455 字
結構
7 節 + 3 題常見問題
標籤
#Ollama#CVE-2026-42248#CVE-2026-42249#Windows#自動更新
Ollama Windows 版的自動更新沒驗簽章:兩個 CVE 串起來,壞人能讓你的電腦自動執行惡意程式

一句話看懂:Ollama 的 Windows 版自動更新既不驗簽章、又能被竄改檔案路徑,兩個漏洞串起來,惡意程式可能被靜默安裝並自動執行。

Ollama Windows 更新機制漏洞資訊圖卡:兩個漏洞串起來,靜默自動更新可能讓惡意程式被自動安裝與執行

先用白話講:自動更新為什麼要驗簽章?

想像快遞員送來一個包裹,上面蓋著寄件公司的防偽封條。你收貨時會檢查封條有沒有被撕過。「驗簽章」就是軟體在更新時檢查這個封條:確認更新檔真的來自官方、沒被中途掉包。

這次的問題是:Ollama 的 Windows 版收到包裹後,檢查封條的動作永遠回答「沒問題」。

發生什麼事

4 月 29 日,NVD 公開兩個 Ollama for Windows 的漏洞,通報來源是波蘭的 CERT Polska:

編號 問題 後果
CVE-2026-42248 更新驗證程序無條件回報成功,不檢查更新執行檔的真偽 攻擊者提供的執行檔會被接受並日後執行
CVE-2026-42249 用 HTTP 回應標頭的值組檔案路徑,沒有驗證,可用 ../ 穿越 檔案可寫到更新暫存資料夾以外,包含 Windows 的啟動資料夾

兩者串起來,再加上 Ollama for Windows 會靜默自動更新、不需使用者操作就執行暫存的檔案,結果就是可能在使用者不知情下自動且持續地執行任意程式。

影響範圍

  • 通報者已測試並確認 0.12.10 到 0.17.5 受影響
  • 其他版本沒有測試,但「可能也受影響」
  • 通報者在 NVD 描述中寫到,專案維護者早期就被通知,但沒有回覆漏洞細節與受影響版本範圍
  • NVD 給出的 CVSS 3.1 分數是 9.8;CERT Polska 對 CVE-2026-42248 給的 CVSS 4.0 分數是 7.7

給開發者的技術細節

  • 漏洞根因:一是 Windows 版的更新驗證函式固定回傳成功;二是下載更新時把 HTTP 標頭值直接丟進 filepath.Join,沒有過濾 ../
  • 利用條件:攻擊者需要能影響更新回應,例如在你的連線中間插手。CERT Polska 的 CVSS 4.0 向量把攻擊向量標為相鄰網路(Adjacent)
  • 修正版本:這份資料沒有說明哪個版本修正,我也不敢直接斷言;請查 Ollama 官方 GitHub 的發行說明與安全公告
  • 實務建議:更新到最新版、確認更新連線走可信網路、關注 Windows 啟動資料夾有沒有不認得的檔案

我的看法

我自己有在用本地 AI,Ollama 是常見入口,很多人會把它當成「裝了就忘」的背景服務。這次的重點是:靜默自動更新很方便,但一旦驗證出問題,就變成最好用的入侵路徑。

自架或在辦公室內網跑 Ollama 的人,建議先確認版本,別等到有人提醒才更新;也別在不可信的公共網路下讓它自動更新。至於官方是否已在哪個版本修好,目前我手上的資料沒有寫,建議直接看 Ollama 的 release 與安全說明確認。

名詞小辭典

  • CVE:全球通用的資安漏洞編號。
  • 簽章驗證:用密碼學確認檔案真的來自指定發行者、沒被改過。
  • 路徑穿越(Path Traversal):利用 ../ 這類字串,讓程式把檔案寫到不該寫的資料夾。
  • CVSS:漏洞嚴重度評分,滿分 10;不同版本(3.1 與 4.0)算法不同,分數不能直接比較。

資料來源

常見問題

我要怎麼確認有沒有中?
Windows 版 Ollama 版本在 0.12.10 到 0.17.5 之間,就是已被測試確認受影響。其他版本通報者沒有測試,但表示也可能受影響。
攻擊者需要怎麼做才能利用?
需要能影響你的 Ollama 收到的更新回應,例如能攔截或竄改更新下載連線的人。NVD 資料中 CERT Polska 給的 CVSS 4.0 向量把攻擊面標為「相鄰網路」。
Mac 或 Linux 版也有這個問題嗎?
兩個 CVE 描述的都是 Ollama for Windows。其中一個說明了其他平台的更新驗證有做,Windows 版卻無條件回報成功,因此問題限定在 Windows。
LINE