
Abinaya 於 2025 年 11 月 20 日報告稱,Ollama 0.7.0 之前的版本中模型檔案解析機制存在越界寫入漏洞。
Ollama 在 GitHub 上擁有超過 155,000 顆星,它是一款能夠讓 gpt-oss、DeepSeek-R1、Llama4 和 Gemma3 等開源模型在本地運行的工具。
Sonarsource 的研究人員發現,該漏洞源自於以 C++ 編寫的 mllama 模型分析程式碼中的一個缺陷,該缺陷會導致特製 GGUF 模型檔案的元資料出現問題。如果攻擊者載入惡意模型,他們就可以獲得對系統的遠端程式碼執行 (RCE) 權限。
開發團隊在 0.7.0 版本中用 Go 語言重寫了程式碼,解決了這個問題。
從:
Ollama漏洞允許攻擊者透過解析惡意模型檔案執行任意程式碼
【社論】
Ollama漏洞不只是軟體故障,它更是一記重要的警鐘,挑戰了本地LLM(本地LLM)安全無虞的迷思。
這是因為許多用戶選擇 Ollama 的主要動機是“隱私保護”,它不會將資料發送到外部伺服器。然而,這次發現的陷阱隱藏在「模型檔案分析過程」本身,動搖了這種信任的根基。具體來說,只需載入攻擊者建立的惡意 GGUF 文件,即可奪取所有 PC 權限(遠端執行程式碼)。
此問題的技術核心在於,Ollama 先前使用 C++ 進行部分模型分析(例如 mllama)。雖然 C++ 速度很快,但它需要開發者手動進行記憶體管理,這會帶來類似「越界寫入」的風險。相較之下,開發團隊在 0.7.0 版本中採用了 Go 語言,Go 語言擁有現代化的設計理念,可以自動進行記憶體管理。這次「從 C++ 到 Go 的重寫」可以被視為 Ollama 從實驗性工具「進化」為一個能夠作為社會基礎設施的強大產品的轉折點。
然而,這不僅僅是一個技術問題,它也讓我們反思自身的使用者行為。你是否曾經像下載音樂或圖片一樣,隨意地從 Hugging Face 或 Civitai 等網站下載過模型檔案?這次事件表明,一個單獨的檔案實際上可能是特洛伊木馬,其中包含複雜的攻擊代碼。
展望未來,「人工智慧供應鏈」的安全,例如驗證模型檔案的簽名和從可信任來源下載,即使在個人電腦層面也將變得至關重要。為了享受科技進步帶來的益處,我們也必須提升自身的素養。
[術語]
姆拉馬
這裡指的是Llama模型的多模態版本(可以處理圖像和文字)。文章特別提到了用於分析該模型的C++程式碼中存在一個漏洞。
PIE(位置無關可執行檔)
安全功能,可將程式載入到記憶體中的位址隨機化,使攻擊者難以針對特定位址執行攻擊代碼。
越界寫入
這種漏洞會導致資料被寫入程式預留記憶體區域之外。這是一種緩衝區溢位漏洞,攻擊者極有可能利用此漏洞執行任意程式碼(遠端程式碼執行)。
遠端程式碼執行 (RCE)
遠端程式碼執行。攻擊者可以透過網路在目標電腦上執行任意命令或程式。這是一個嚴重的漏洞,可能導致系統完全被控制。
[參考連結]
奧拉瑪(外部)
一款可讓您在本機環境中輕鬆執行 LLM 的工具。它相容於 macOS、Linux 和 Windows 系統,並可匯入 Llama 3 和 Gemma 等模型。
Sonar(原名 SonarSource) (外部)
一家提供程式碼品質和安全靜態分析工具的公司,其研究團隊發現了 Ollama 漏洞。
GitHub – Ollama 倉庫(外部)
Ollama 原始碼是公開提供的,同時還提供發行說明、漏洞修復的詳細歷史記錄以及社區活動資訊。
[參考文章]
Ollama 遠端程式碼執行:保護執行 LLM 的程式碼(外部)
發現者 Sonar 提供了技術解釋,詳細介紹了漏洞的詳細機制以及 Ollama 團隊實現的 C++ 到 Go 的修復方案。
Ollama漏洞允許攻擊者透過惡意模型檔案執行任意程式碼(外部)
本文解釋了使用惡意 GGUF 檔案分析的攻擊方法,重點介紹了導致遠端程式碼執行的流程以及使用者面臨的特定風險。
GGML GGUF 檔案格式漏洞(外部)
本書解釋了 GGUF 檔案格式本身的風險結構,並幫助您了解檔案解析器中漏洞如此容易發生的技術背景。
[編者註]
人工智慧「觸手可及」。那種興奮感無可取代。每次我用 Ollama 嘗試新模型時,都感覺自己彷彿觸碰到了未來。
然而,這個漏洞讓我們開始思考信任的重要性。我們因為方便而下載的檔案真的安全嗎?
請檢查您的環境。在嘗試新模型時,請嘗試新增「誰建立了該檔案?」的視角。這樣做,您的人工智慧運作將更加自由和安全。