Exploit for CVE-2026-0926 exploit
CVE-2026-0926 是 Ollama <0.17.1 中的严重堆溢出漏洞。通过特制 HTTP 请求的 Content-Length 负值头部触发,可导致远程代码执行。本文提供完整技术分析、攻击场景与修复指南。
Exploit for CVE-2026-0926 exploit
📋 漏洞概述
CVE-2026-0926是Ollama模型推理服务中存在的堆缓冲区溢出漏洞,可导致远程代码执行。
📋 基础信息
| 受影响版本 | Ollama < 0.17.1 |
| 漏洞类型 | 堆溢出 |
| CVSS | 9.8 · Critical |
| CVE | CVE-2026-0926 |
🔬 漏洞根因
漏洞源于Ollama在处理HTTP POST请求中畸形的Content-Length头部时,未对分配缓冲区大小进行边界校验。当Content-Length的值被设置为负整数或极大整数时,内存分配器会分配一个异常小的缓冲区(如负值被解析为无符号整数导致绕零),后续读取请求体数据时,数据直接溢出写入堆内存。推测该缺陷位于Ollama的http请求解析模块,在调用strtol/atoi转换Content-Length时未处理负数,也未与接收缓冲区实际容量做min()比较。
🎯 攻击场景
1. 前提条件:攻击者能够向运行ollama serve的TCP端口(默认11434)发送网络请求。2. 攻击构造:攻击者使用原始HTTP客户端(如netcat或自行编写的socket程序),发送一个POST请求,设置Content-Length头为负值(例如-1)。3. 利用过程:Ollama服务器解析该头部,malloc分配了极小的堆缓冲区(由于负值转换为大无符号整数后实际分配0或极小空间)。服务器随后开始读取请求体数据,将大量字节写入该缓冲区,触发堆溢出。4. 控制流劫持:攻击者精心构造请求体载荷,覆写堆上的函数指针或vtables,结合堆布局操作(如堆喷射),最终劫持程序执行流。5. 成功标志:攻击者获得目标服务器上的远程代码执行权限,可执行任意系统命令。
💥 漏洞影响
该漏洞危害程度为Critical。未经身份验证的远程攻击者能够通过发送特制HTTP请求触发堆溢出,进而实现任意代码执行,完全控制Ollama服务器进程。成功利用后攻击者可读取、修改或删除服务器上的模型文件与敏感数据,或利用服务器发起对内网其他服务的攻击。由于Ollama通常以高权限运行(root或docker),漏洞影响范围极广。
🛡️ 修复建议
官方已发布修复版本Ollama 0.17.1及更高版本,请立即升级。临时缓解措施包括:1)在防火墙或安全组中限制对Ollama服务端口的访问,仅允许受信任IP;2)使用反向代理(如Nginx)对传入请求进行Content-Length合法性校验,拒绝负值或超过预设上限的请求;3)运行Ollama时降权至非root用户,并启用Seccomp/AppArmor限制系统调用。
📎 参考链接
- https://nvd.nist.gov/vuln/detail/CVE-2026-0926
- https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2026-0926
- https://github.com/ollama/ollama/releases/tag/v0.17.1
- 原始来源(Sploitus)
🚨 威胁评估
| 📈 EPSS 利用概率 | 中 (20.3%) (高于 95.6% 的漏洞) |
| 🚨 CISA KEV | 未被已知利用 |
| 🔧 公开 PoC | 1 个公开 PoC 仓库 |
⚠️ 本文由漏洞情报系统自动生成,仅供安全研究与防御参考。生成时间: 2026-05-26 08:08 | 来源: Sploitus
🤖 常见问题解答(FAQ)
❓ 如何检测Ollama是否受CVE-2026-0926影响?
检查ollama版本:ollama --version。若低于0.17.1则受影响。也可发挖请求:echo -e 'POST /api/xxx HTTP/1.1\r\nContent-Length: -1\r\n\r\nAAAA' | nc <server> 11434,观察服务是否崩溃或产生core dump。
❓ 攻击是否需要Ollama的API认证?
不需要。默认Ollama服务无认证,且漏洞在解析HTTP头部阶段触发,在路由到具体API端点前即被利用,完全无需认证。
❓ 能否通过WAF或IPS规则拦截此漏洞攻击?
可以。编写WAF规则,匹配HTTP请求头Content-Length值为负整数(如^-\d+$)或超过10MB的值,直接拒绝。同时检测请求体的实际字节数与头部声明不一致的请求。