![]()
大家好,我是 Ai 學(xué)習(xí)的老章
Ollama 是咱們公眾號(hào)的常客
今天又得給老朋友補(bǔ)一刀,因?yàn)?Ollama 這次攤上的事兒不小——一個(gè) CVSS 9.1 的高危漏洞,已被 Cyera 安全研究員命名為 Bleeding Llama,編號(hào) CVE-2026-7482
簡(jiǎn)介
事情起源于 The Hacker News 的一篇披露文章,Cyera 研究員 Dor Attias 在 Ollama 的 GGUF 模型加載器里挖出了一個(gè)堆越界讀取(heap out-of-bounds read)漏洞
按照 cve.org 的官方描述:
? Ollama before 0.17.1 contains a heap out-of-bounds read vulnerability in the GGUF model loader The /api/create endpoint accepts an attacker-supplied GGUF file in which the declared tensor offset and size exceed the file's actual length
翻譯過(guò)來(lái)就是:0.17.1 之前的所有版本,只要 /api/create 接口暴露在網(wǎng)上,攻擊者上傳一個(gè)惡意構(gòu)造的 GGUF 文件就能把服務(wù)器進(jìn)程內(nèi)存讀個(gè)底朝天
問(wèn)題代碼位置也很明確:
fs/ggml/gguf.goserver/quantization.go里的WriteTo()函數(shù)
根源在于 Ollama 在量化時(shí)用了 Go 的 unsafe 包繞過(guò)內(nèi)存安全檢查,再加上沒(méi)校驗(yàn) tensor offset 和 size 是否超過(guò)文件實(shí)際大小,結(jié)果就是越界讀 heap
攻擊鏈
下圖是 Cyera 給出的 API 調(diào)用示意:
![]()
Bleeding Llama 攻擊鏈
整個(gè)攻擊鏈就三步:
上傳 :把構(gòu)造好的 GGUF 文件(把 tensor shape 設(shè)成一個(gè)超大的數(shù))通過(guò) HTTP POST 丟到網(wǎng)絡(luò)可達(dá)的 Ollama 服務(wù)器
觸發(fā) :調(diào)用
/api/create讓 Ollama 開(kāi)始建模型,越界讀發(fā)生在量化階段外泄 :用
/api/push把讀到的內(nèi)存當(dāng)作"模型 artifact"推送到攻擊者控制的 registry
讀到的內(nèi)容包括什么?Cyera 列得很清楚:環(huán)境變量、API keys、system prompts、其他并發(fā)用戶(hù)的對(duì)話(huà)數(shù)據(jù)
Dor Attias 還提了一個(gè)特別扎心的場(chǎng)景:很多工程師把 Ollama 接到 Claude Code 上當(dāng)本地推理后端,那么所有工具調(diào)用的輸入輸出都會(huì)經(jīng)過(guò) Ollama 進(jìn)程的 heap,一旦被讀,整個(gè)研發(fā)現(xiàn)場(chǎng)都漏給攻擊者了
影響面
The Hacker News 援引 Cyera 數(shù)據(jù):全球暴露在公網(wǎng)的 Ollama 服務(wù)器超過(guò) 300,000 臺(tái)
Ollama 在 GitHub 上現(xiàn)在是 171,000+ stars、16,100+ forks,體量擺在這兒,公網(wǎng)暴露面是真大
怎么辦
官方修復(fù)版本是 0.17.1,發(fā)布說(shuō)明在這: https://github.com/ollama/ollama/releases/tag/v0.17.1
按 The Hacker News 的建議,最起碼做這幾件事:
立刻升級(jí)到 0.17.1 或更新
不要把 Ollama 直接暴露公網(wǎng) ,至少塞防火墻后面
審計(jì)現(xiàn)有實(shí)例 有沒(méi)有意外開(kāi)放到外網(wǎng)
加一道認(rèn)證代理或 API 網(wǎng)關(guān) ,因?yàn)?Ollama 默認(rèn)是沒(méi)鑒權(quán)的——這才是問(wèn)題的根
審計(jì)已經(jīng)在用的實(shí)例日志 ,看有沒(méi)有可疑的
/api/create、/api/push請(qǐng)求
之前我就提過(guò)幾次 Ollama 的安全隱患,主要槽點(diǎn)是默認(rèn)沒(méi)鑒權(quán),誰(shuí)連上誰(shuí)就能用,這次的 Bleeding Llama 把"沒(méi)鑒權(quán)"的代價(jià)具象化了——不是別人多耗你點(diǎn) GPU,而是把你機(jī)器上跑過(guò)的所有秘密都拿走
如果你只在本機(jī) 127.0.0.1 跑 Ollama,問(wèn)題不大;只要 OLLAMA_HOST 綁過(guò) 0.0.0.0 或暴露給團(tuán)隊(duì)/公網(wǎng),就抓緊升級(jí)
制作不易,如果這篇文章覺(jué)得對(duì)你有用,可否點(diǎn)個(gè)關(guān)注。給我個(gè)三連擊:點(diǎn)贊、轉(zhuǎn)發(fā)和在看。若可以再給我加個(gè),謝謝你看我的文章,我們下篇再見(jiàn)!
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶(hù)上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.