{"id":"CVE-2026-115378","kind":"vulnerability","aliases":["CVE-2026-115378"],"related":[],"title":"Incus: malicious VM agent can write arbitrary host files during recursive pull","description":"Incus before 6.0.7, 6.1.0 before 7.0.2, and 7.1.0 before 7.5.0 contains an arbitrary file write vulnerability in sftpRecursivePullFile that allows a malicious incus-agent to escape the target directory during incus file pull -r. Attackers with root in a virtual machine can return duplicate entries reported first as symlinks then as files or directories, writing attacker-controlled files such as /etc/shadow on the operator's host.","summary":"Incus before 6.0.7, 6.1.0 before 7.0.2, and 7.1.0 before 7.5.0 let a malicious incus-agent inside a virtual machine escape the target directory during recursive file pulls. An attacker with root in a VM can write attacker-controlled files such as /etc/shadow on the operator's host.","severity":"medium","cvss":6.9,"epss":0.00241,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["incus","infrastructure","self-hosted","virtual-machines"],"not_affected_if":["no-vm-workloads","patched-release"],"how_to_check":"- Run `incus version` on the operator host and compare against the fixed releases\n- Check whether any virtual machines are in use with `incus list --format csv -c nt` (unknown whether this narrows exposure further)","fix":"- Upgrade Incus to `6.0.7`, `7.0.2` or `7.5.0`, matching the release line in use","status":"open","published_at":"2026-10-22T19:17:44+00:00","first_seen_at":"2026-10-23T21:57:31+00:00","triaged_at":"2026-10-25T03:38:49+00:00","updated_at":"2026-10-25T03:38:49+00:00","category":"infrastructure","confidence":0.6,"triage":{"at":"2026-10-25T03:38:49Z","model":"claude-haiku-5-5","output":{"fix":"- Upgrade Incus to `6.0.7`, `7.0.2` or `7.5.0`, matching the release line in use","reach":"local","title":"Incus: malicious VM agent can write arbitrary host files during recursive pull","impact":"high","summary":"Incus before 6.0.7, 6.1.0 before 7.0.2, and 7.1.0 before 7.5.0 let a malicious incus-agent inside a virtual machine escape the target directory during recursive file pulls. An attacker with root in a VM can write attacker-controlled files such as /etc/shadow on the operator's host.","category":"infrastructure","nicknames":[],"who_cares":["incus","virtual-machines","self-hosted"],"confidence":0.6,"needs_auth":"yes","worst_case":"Attacker overwrites host files such as /etc/shadow via VM","analyst_note":"Confirm whether the exploit requires an operator to run recursive pull against a hostile VM and check the upstream Incus advisory for the exact fixed versions.","how_to_check":"- Run `incus version` on the operator host and compare against the fixed releases\n- Check whether any virtual machines are in use with `incus list --format csv -c nt` (unknown whether this narrows exposure further)","needs_analyst":true,"not_affected_if":["patched-release","no-vm-workloads"],"who_is_affected":"Operators who run `incus file pull -r` against virtual machines on an affected Incus release are exposed, since the flaw sits in the host-side recursive pull handling of data returned by incus-agent. Hosts running only containers or non-recursive pulls are less likely to be exposed, but the sources do not confirm this. Operators on patched releases can skip it.","user_interaction":"yes","needs_special_setup":"unknown","severity_if_unknown":"medium"},"cost_usd":0.000656,"input_tokens":3438,"output_tokens":625,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-115378':15A,18A '-2026':14A,17A '/etc/shadow':70B,138C '6.0.7':29B,78C '6.1.0':30B,79C '7.0.2':32B,81C '7.1.0':34B,83C '7.5.0':36B,85C 'agent':4A,42B,100C 'allow':95C 'arbitrari':7A,88C 'attack':56B,65B,111C,133C 'attacker-control':64B,132C 'contain':86C 'control':66B,134C 'cve':13A,16A 'directori':50B,105C,130C 'duplic':120C 'entri':121C 'escap':47B,102C 'file':9A,53B,67B,89C,108C,128C,135C 'first':123C 'host':8A,23B,75B,143C 'incus':1A,19B,27B,41B,76C,99C,107C 'incus-ag':40B,98C 'infrastructur':20B 'insid':43B 'let':37B 'machin':26B,46B,117C 'malici':2A,39B,97C 'oper':73B,141C 'pull':12A,54B,109C 'r':110C 'recurs':11A,52B 'report':122C 'return':119C 'root':58B,113C 'self':22B 'self-host':21B 'sftprecursivepullfil':93C 'symlink':125C 'target':49B,104C 'virtual':25B,45B,116C 'virtual-machin':24B 'vm':3A,61B 'vulner':91C 'write':6A,63B,90C,131C","nicknames":[],"mitigations":[],"who_affected":"Operators who run `incus file pull -r` against virtual machines on an affected Incus release are exposed, since the flaw sits in the host-side recursive pull handling of data returned by incus-agent. Hosts running only containers or non-recursive pulls are less likely to be exposed, but the sources do not confirm this. Operators on patched releases can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"first_public_at":"2026-10-22T19:17:44+00:00","kev":null,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:P/VC:N/VI:H/VA:N/SC:N/SI:H/SA:N/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","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-115378","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-115378","severity":null,"published_at":"2026-10-22T19:17:44+00:00","modified_at":"2026-10-23T17:06:36+00:00","first_seen_at":"2026-10-23T21:57:31+00:00","fetched_at":"2026-10-23T22:29:02+00:00","note":null},{"source":"epss","external_id":"CVE-2026-115378","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-115378","severity":null,"published_at":null,"modified_at":null,"first_seen_at":"2026-10-24T07:15:51+00:00","fetched_at":"2026-10-24T07:15:51+00:00","note":null}],"documents":[],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}