CVE-2026-103663
validatedZero produced an exploit or a check.GHSA-w8p2-phwr-px3r ↗EUVD-2026-94962 ↗
description
Ollama's unauthenticated /api/pull endpoint can be abused to write files outside the model store. An attacker may achieve code execution after a server restart when the Ollama process can write to /usr/lib/ollama, as is commonly configured in Docker images.
mitigation
Upgrade Ollama to version 0.35.0 or later. Until upgraded, restrict unauthenticated access to the API and remove unnecessary write access to /usr/lib/ollama.
fixed in 0.35.0
outcome
Check only, differential: the check fires on the vulnerable build and is silent on the patched one.
source signals
Public signals that triggered or updated the pipeline. These are inputs for the deltas above.
- 2026-10-08 13:19Zghsa: trigger signal, started the run
- 2026-10-08 13:19Zcve.org record for CVE-2026-103663
- 2026-10-19 23:40Zstriga-ai/CVE-2026-103663
this entry in the feed
GET /api/v1/feed/CVE-2026-103663
{ "etk_id": "ETK-2026-992", "cve_id": "CVE-2026-103663", "display_id": "CVE-2026-103663", "ghsa_id": "GHSA-w8p2-phwr-px3r", "euvd_id": "EUVD-2026-94962", "status": "published", "anchor_state": "anchored", "title": "Path traversal in Ollama API pull endpoint", "summary": "Ollama's unauthenticated `/api/pull` endpoint can be abused to write files outside the model store. An attacker may achieve code execution after a server restart when the Ollama process can write to `/usr/lib/ollama`, as is commonly configured in Docker images.", "mitigation": "Upgrade Ollama to version 0.35.0 or later. Until upgraded, restrict unauthenticated access to the API and remove unnecessary write access to `/usr/lib/ollama`.", "vendor": "ollama", "product": "Ollama", "affected": [ { "affected_notes": [], "affected_ranges": [ ">= 0.34.2, < 0.35.0" ], "ecosystem": null, "fixed_versions": [ "0.35.0" ], "package_name": "Ollama", "purl": null } ], "cwes": null, "cvss_score": 9.4, "cvss_src": "cna_vendor", "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X", "epss_score": 0.0071, "epss_percentile": 0.5289, "epss_asof": "2026-10-20", "automation": "deterministic", "check": true, "check_confidence_basis": "differential", "exploit": false, "pipeline_minutes": 26.959131116666665, "t0_at": "2026-10-08T13:19:04.819000+00:00", "signals": { "check": { "at": "2026-10-08T17:36:21.650018+00:00", "days": 0.1786670256712963, "is_lower_bound": false, "measured_at": "2026-10-08T13:19:04.819000+00:00", "url": null }, "public_poc": { "at": "2026-10-19T20:59:59+00:00", "days": 11.320071539351853, "is_lower_bound": false, "measured_at": "2026-10-08T13:19:04.819000+00:00", "url": "https://github.com/striga-ai/CVE-2026-103663" }, "trigger_signal": { "at": "2026-10-08T13:19:04.819000+00:00", "days": 0, "is_lower_bound": false, "measured_at": "2026-10-08T13:19:04.819000+00:00", "url": "https://github.com/advisories/GHSA-w8p2-phwr-px3r" } } }
published 2026-10-08 17:09Z
last change 2026-10-21 04:45Z
Need the technical details behind an entry?
Every entry here shows what we attempted and when. The technical details, the generated exploit that fired it and the evidence behind the verdict are not public. Tell us about your use case and we’ll get back to you about extended API access.