Skip to main content

Incus CVE-2026-115378

| EUVDEUVD-2026-108301 MEDIUM
Improper Link Resolution Before File Access (CWE-59)
2026-10-22 disclosure@vulncheck.com GHSA-38pq-92hw-9rp6
6.9
CVSS 4.0 · Vendor: vulncheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Gain root inside a guest VM
  2. Exploit
    Run modified incus-agent serving duplicate symlink-then-directory entries
  3. Execution
    Operator runs 'incus file pull -r' from that VM
  4. Impact
    Client writes through symlink, overwriting /etc/shadow on host

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Symlink resolution safety
Exploitation Conditions

Exploitation requires ALL of the following: (1) the attacker has root inside an Incus virtual machine and can run a modified incus-agent that serves inconsistent SFTP listings (the same entry name returned first as a symlink, then as a directory or regular file); and (2) an operator must run 'incus file pull -r' recursively from that specific compromised VM - this operator interaction is mandatory and is the primary limiting factor. The damage is bounded by the operator's privileges on the CLI host: run as root it can overwrite /etc/shadow or /root/.ssh/authorized_keys; run unprivileged into a dedicated directory the impact is contained. Containers are NOT affected because their transfers are served by forkfile on the host rather than an in-guest agent. Affected: Incus before 6.0.7, 6.1.0 before 7.0.2, and 7.1.0 before 7.5.0. Vendor workarounds: avoid recursive pulls from untrusted VMs, or run the pull as an unprivileged user into a dedicated directory; the complete fix is updating to a fixed version.

Impact

This is a genuine but conditional integrity threat rather than a mass-exploitation emergency. The CVSS 4.0 vector (AV:N/AC:L/AT:P/PR:L/UI:P, VI:H/SI:H) scores 6.9 (medium): the high integrity impact on both the vulnerable system and the subsequent system (the operator's host) reflects that a successful attack escapes the VM boundary and writes attacker-controlled files like /etc/shadow or /root/.ssh/authorized_keys on the host, which can escalate to full host compromise. However, the AT:P (attack requirement) and UI:P (operator must act) metrics are decisive limiters: exploitation cannot proceed unless an operator voluntarily runs 'incus file pull -r' against a VM the attacker already controls at root. No EPSS score, KEV listing, or confirmed working exploit code is present in the input - only vendor/GHSA and VulnCheck advisory references, not a PoC. The vuln.today decision label is 'this_month', not act_now/emergency, consistent with a patch-available, high-impact-but-interaction-gated flaw. Net: prioritize patching for operators who pull files from untrusted guests, but this is not a drive-by, pre-auth, widespread-exploitation scenario. Note a signal nuance: PR:L here reflects that the attacker needs root inside the guest VM, not any privilege on the targeted incus CLI host - the trust boundary is the guest/host split, not an authentication check on the host.

Exploit ScenarioDerived

An attacker who has gained root inside an Incus-managed virtual machine replaces incus-agent with a modified version that serves a malicious SFTP directory listing. When an operator later runs 'incus file pull -r' from that VM, the agent returns the same entry name twice - first as a symlink, then as a directory or file - causing the client to write through the symlink and land attacker-controlled content outside the target directory on the operator's host, with the operator's privileges. No public exploit code is identified in the input, though the mechanism is fully described in the GHSA advisory.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 22, 2026

Arbitrary file write on the Incus CLI host occurs when an operator runs 'incus file pull -r' against a virtual machine whose in-guest incus-agent has been replaced with a malicious build; the agent returns the same directory entry name twice, first as a symlink and then as a directory or regular file, so the client recursively creates or writes through the link it just made and lands outside the intended target directory. Affected releases are Incus before 6.0.7, 6.1.0 before 7.0.2, and 7.1.0 before 7.5.0, and only VM-served transfers are exposed because container transfers are handled by forkfile on the host rather than by an in-guest agent. This is a genuine but conditional integrity threat rather than a mass-exploitation emergency: the attacker must already hold root inside the guest VM (the assessed vector is PR:L) and the operator must voluntarily run a recursive pull from that specific compromised VM (UI:R), with final impact bounded by the operator's privileges on the CLI host; no public exploit has been identified at time of analysis and there is no CISA KEV entry.

RemediationAI

Vendor-released patch: update to Incus 6.0.7, 7.0.2, or 7.5.0 depending on the branch in use, which is the complete fix per the upstream advisory (GHSA-wfvq-qh87-gm4j, https://github.com/lxc/incus/security/advisories/GHSA-wfvq-qh87-gm4j); for consumers of the Go module, the fix is go/github.com/lxc/incus/v7/cmd/incus >= v7.5.0. Until the upgrade is applied, the vendor workarounds are to avoid running 'incus file pull -r' from untrusted or potentially compromised virtual machines, and to run any required recursive pull as an unprivileged user into a dedicated directory - the trade-off is that this contains the blast radius to that user's writeable paths instead of overwriting host files such as /etc/shadow or /root/.ssh/authorized_keys, but it does not fix the underlying link-following behaviour, so neither workaround substitutes for updating.

Affected VersionsENISA

incus 6.1.0 <7.0.2
incus 7.1.0 <7.5.0
incus 0 <6.0.7

Affected Packages

euvd incus fix: 6.0.7, 7.0.2, 7.5.0

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

Incus implements 'incus file pull -r' as an SFTP directory walk served by incus-agent inside the guest. The client routine sftpRecursivePullFile in cmd/incus/utils_sftp.go iterates the entries returned by ReadDir, calls Lstat on each one, and then creates the corresponding local object under the target path. The root cause is CWE-59 (Improper Link Resolution Before File Access / link following): the client trusted the agent's listing and Lstat results without checking that they were mutually consistent or that a later entry did not resolve to a path the transfer had itself just created as a symlink. Because os.Mkdir and os.Create follow symlinks, a duplicate entry reported first as a symlink and second as a directory or regular file lets the second operation write through the freshly created link to any path the CLI user can reach. A compromised agent is inherent to the threat model - the guest is the untrusted side - so the defect is the missing consistency and containment check on the host client, not the agent's behaviour. Containers are architecturally out of scope because their file transfers are served by forkfile on the host instead of by an in-guest agent, a distinction confirmed in the upstream advisory.

Know when the next one hits your stack

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (vulncheck) PRIMARY 6.9 MEDIUM
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
vuln.today AI 5.8 MEDIUM

Attacker needs root in the guest (PR:L) and the operator must initiate a recursive pull (UI:R, AC:H for the agent's crafted inconsistent listing); the write escapes the VM to the host (S:C) with integrity-only impact (I:H, C/A:N).

3.1 AV:N/AC:H/PR:L/UI:R/S:C/C:N/I:H/A:N
4.0 AV:N/AC:L/AT:P/PR:L/UI:P/VC:N/VI:H/VA:N/SC:N/SI:H/SA:N
Red Hat 5.8 MEDIUM

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
Low
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
High
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Oct 22, 2026 - 20:18 EUVD

DescriptionCVE.org

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.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Low
Incus is a niche Linux container/VM manager used by a subset of ops teams
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor GitHub

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy