Ollama 漏洞允許攻擊者通過解析惡意模型文件執行任意代碼
漏洞概述
GitHub最受歡迎的開源項目之一Ollama(擁有超過15.5萬星標)曝出嚴重漏洞。該漏洞存在于軟件解析模型文件的過程中,攻擊者可利用此缺陷在運行易受攻擊版本平臺的系統上執行任意代碼。
Ollama是一款廣受歡迎的工具,允許開發者和AI專家在本地運行大型語言模型,而無需依賴OpenAI等外部服務。該平臺支持眾多開源模型,包括gpt-oss、DeepSeek-R1、Meta的Llama4和Google的Gemma3。

漏洞詳情
Sonarsource研究人員在對Ollama代碼庫進行安全審計時,發現了一個嚴重的越界寫入漏洞。該漏洞影響0.7.0之前的所有Ollama版本,存在于模型文件解析機制中。當處理特制的GGUF模型文件時,軟件無法正確驗證特定的元數據值。
具體而言,在解析mllama模型時,代碼未驗證模型元數據中指定的索引是否在可接受范圍內。這一疏忽使攻擊者能夠操縱超出分配邊界的內存。
攻擊原理
攻擊路徑涉及創建具有超大元數據條目或無效層索引的惡意模型文件。當Ollama處理這些文件時,漏洞會觸發越界寫入條件。獲得Ollama API訪問權限的攻擊者可加載并執行這些武器化模型,從而在目標系統上實現遠程代碼執行。
Sonarsource確認該漏洞在未配置位置獨立可執行文件的構建中可被利用。雖然包含此保護的版本發布后,專家認為通過額外努力仍可實現漏洞利用。
影響范圍與修復方案
該漏洞特別影響用C++編寫的mllama模型解析代碼,在模型初始化過程中會發生不安全的內存操作。Ollama開發團隊在0.7.0版本中通過用Go語言完全重寫易受攻擊的mllama模型處理代碼解決了此漏洞,消除了不安全的C++實現。
運行舊版本的用戶面臨重大安全風險,應立即升級至最新版本。在生產環境中使用Ollama的組織應審核其部署情況,并實施版本控制以防止加載不受信任的模型文件。

































