Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessHold restricted project client certificate
-
DeliveryObtain in-flight operation UUID out-of-band
-
ExploitGET /1.0/operations/{uuid} bypasses authorization
-
ExecutionRead cross-project command line, env secrets, websocket/trust tokens
-
ImpactEnrol unrestricted certificate for full server admin
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization checks on every request
MITRE ATT&CK
1 technique across 1 tactic: Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The attacker must hold a valid Incus TLS client certificate that is project-restricted (PR:L, so they are authenticated but confined to their own project), and the deployment must use Incus's multi-project / restricted-certificate tenancy model. They must know the exact 122-bit crypto/rand UUIDv4 of a specific operation, which Incus does not disclose to a restricted client - the reporter verified that /1.0/operations?project=attacker, ?all-projects=true and ?project=victim all return empty - so the UUID must come from out-of-band leakage (operator shell history, CI logs, a proxy or APM trace capturing the async Location header, 'incus monitor' output pasted into a ticket, a former project membership, or a shared automation account). The targeted operation must be in-flight at the instant of the read because operations are transient; this out-of-band-UUID requirement plus the timing window are the key limiting factors that make exploitation targeted rather than widespread. No victim interaction is needed once the UUID is known. The demonstrated escalation to full server admin additionally requires a trust-enrolment ('incus config trust add') operation to be pending at the moment of the read. |
| Impact | The vendor-assigned CVSS 4.0 score is 7.0 (HIGH) with vector AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/SC:H, which I concur with. Although the attack vector is network (the Incus REST API over TLS), three signals pull real-world risk below the raw score: AT:P (an attack requirement must be met - a target operation must be in-flight), PR:L (a valid project-restricted client certificate is required), and the reporter-verified fact that the 122-bit random operation UUID cannot be enumerated through any API path and must be obtained out-of-band. There is no CISA KEV listing, so this is NOT confirmed actively exploited; EPSS was not provided in the input, so probabilistic exploitation likelihood cannot be stated. A detailed, reproducible PoC is published inside the GHSA advisory itself. The vuln.today decision label is 'this_week', consistent with a serious but non-emergency authorization flaw: a genuine priority for anyone running multi-tenant Incus with restricted certificates, but not a mass-exploitable, internet-spray issue because of the out-of-band UUID dependency and the transient nature of operations. CWE-862/863 (missing authorization) is confirmed by the vendor. Note the input Tag 'Authentication Bypass' is inaccurate: the attacker is already authenticated (they hold a valid certificate) and the defect is a missing authorization check, i.e. an authorization bypass. |
| Exploit ScenarioDerived | A tenant whose client certificate is restricted to project 'attacker' obtains the UUID of an in-flight exec operation running in project 'victim' from an out-of-band source (a CI log, operator shell history, or a proxy/APM trace of a Location header), then sends GET /1.0/operations/{uuid}. The handler performs no authorization at all and returns the victim's full command line, its environment variables (where deployment tooling places DB_PASSWORD, API tokens and cloud credentials) and the operation's websocket secrets; a full reproduction sequence is published in the GHSA advisory. If a trust-enrolment operation happens to be pending at read time, the same read discloses the enrolment token, which the reporter demonstrated can enrol a fresh unrestricted certificate and yield full server admin. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 22, 2026
Incus servers that use multi-project tenancy expose in-flight operations across project boundaries because the GET /1.0/operations/{uuid} handler performs no authorization check, letting any authenticated client - including one holding a TLS certificate restricted to a single project - read operations that belong to other projects. The disclosed data includes the full command line, the process environment (where deployment tooling typically stores database passwords, API tokens and cloud credentials), the operation's websocket fd secrets and resource URLs, and, when an 'incus config trust add' operation happens to be pending, the trust-enrolment token itself, which the reporter demonstrated could be exchanged for an unrestricted certificate and full server admin. Exploitation is constrained: the attacker must already hold a project-restricted certificate and must obtain the 122-bit crypto/rand UUIDv4 of a specific in-flight operation out of band, since Incus discloses no enumeration path to a restricted client. The issue carries no CISA KEV entry or reported active exploitation; the upstream advisory includes a step-by-step reproduction sequence, which is the only published proof of concept.
RemediationAI
Vendor-released patches exist per branch: upgrade to Incus 6.0.7 on the 6.0 LTS line, 7.0.2 on the 7.0 line, or 7.5.0 on the 7.1.0-and-later feature line; the upstream module fix is go/github.com/lxc/incus/v7/cmd/incusd at v7.5.0 or later. The fix being adopted upstream is the one operationDelete already performs - resolving op.Project() in operationGet and calling s.Authorizer.CheckPermission against auth.EntitlementCanViewOperations (the same entitlement operationsGet already uses) before rendering, with the cluster-forwarding branch inheriting the check because the remote member re-runs operationGet on the forwarded identity; the reporter also flags that operationWaitGet, registered AllowUntrusted: true and returning the same rendered object, needs the same treatment or the fix is bypassable by waiting rather than getting, a path they did not test against a patch. No workaround is stated in the available sources, and note that the exposure comes from the restricted-certificate tenancy model itself, so operators who cannot upgrade immediately should weigh not issuing project-restricted certificates to tenants who should not read one another's operations, and should keep operation UUIDs out of places a tenant can reach - shell history, CI logs, ticket text, incus monitor output, and proxy or APM traces that capture the async Location header - recognizing that these measures only raise the out-of-band discovery bar and do not close the missing authorization check. Advisory and patch detail: https://github.com/lxc/incus/security/advisories/GHSA-mfwv-x733-9446.
Affected VersionsENISA
Affected Packages
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 is a Go-based system container and VM manager whose daemon exposes a REST API; each API endpoint is registered with an AccessHandler, and the allowAuthenticated handler is documented in cmd/incusd/daemon.go as permitting any authenticated request only on the condition that the handler itself performs 'further access control within the handler'. In cmd/incusd/operations.go, operationGet resolves the requested ID directly out of the process-global, UUID-keyed operations map and renders it without ever calling op.Project(), op.Permission(), or s.Authorizer.CheckPermission - a CWE-862/CWE-863 missing-authorization flaw rather than a memory-safety or injection bug. The sibling handlers on the same router do enforce authorization: operationDelete resolves the project from the operation and builds an auth object per resource before checking, and operationsGet filters every local and remote operation through a GetPermissionChecker for auth.EntitlementCanViewOperations; operationGet was simply skipped in the 2023-10-25 commit 613f937dc that introduced operations authorization, so the flaw has been present since v0.2.0 rather than being a regression. Because the operations map is global and keyed only by UUID, possession of the identifier fully selects the object, and the exposed rendered body carries the exec command line, the environment map, the websocket fd secrets and the operation's resource URLs. A related concern flagged by the reporter is that operationWaitGet is registered AllowUntrusted: true and returns the same rendered object on completion, so an incomplete fix that only hardens operationGet may be bypassable by waiting on the operation instead of reading it.
Know when Incus gets its next vulnerability
- 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
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N
PR:L for the required restricted certificate; AC:H because success depends on an attacker-uncontrolled in-flight operation and an out-of-band 122-bit UUID; S:C and C:H for read-only cross-project secret disclosure, no integrity or availability impact.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
2DescriptionCVE.org
Incus before 6.0.7, 6.1.0 before 7.0.2, and 7.1.0 before 7.5.0 contains a missing authorization vulnerability in GET /1.0/operations/{uuid} that lets project-restricted clients read operations in other projects. Attackers holding a restricted certificate and a known operation UUID can retrieve command lines, environment secrets, websocket secrets, and trust enrolment tokens.
Technical POC Analysis
CWE-862 Missing Authorization (the advisory also lists CWE-863).
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
CVE-2026-115373 exposes sensitive operational data across project boundaries in multi-tenant Incus environments, potentially allowing an authenticated user with a project-restricted certificate to read command lines, environment variables, and even trust tokens from other projects. This could lead to full server compromise if an admin trust token is captured, impacting confidentiality and integrity of the entire container infrastructure.
No vendor-released patch identified at time of analysis. Interim mitigations: restrict project-scoped certificates to only necessary users, avoid storing secrets in environment variables of operations, monitor API access logs for anomalous operation UUID access, and consider disabling multi-project tenancy until a fix is available.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
Incus is a system container and virtual machine manager. [CVSS 8.7 HIGH]
Incus contains a vulnerability that allows attackers to adding arbitrary lifecycle hooks, ultimately resulting in arbitr
Path traversal in Incus system container manager allows authenticated remote attackers to write arbitrary files as root
Incus system container and virtual machine manager versions prior to 6.23.0 allow authenticated users with instance acce
Arbitrary file write in Incus (before 6.0.7, 6.1.0 before 7.0.2, and 7.1.0 before 7.5.0) allows an authenticated client
Authentication bypass in Incus webui (versions prior to 6.23.0) permits local or remote attackers to gain unauthorized a
Project isolation bypass in Incus lets an authenticated client that is confined to one project copy and read custom stor
Authenticated restricted TLS clients on Incus can retrieve S3 access and secret keys for storage buckets in the default
Denial of service in Incus prior to version 6.23.0 allows authenticated users with storage bucket access to crash the In
Incus versions prior to 6.23.0 fail to validate image fingerprints when downloading from simplestreams servers, enabling
Incus versions prior to 6.23.0 allow local authenticated attackers to manipulate temporary screenshot files via predicta
Incus is a system container and virtual machine manager. Rated high severity (CVSS 8.6), this vulnerability is no authen
EUVD-2026-108296
GHSA-xv35-979f-75jf
NVD
CVE.org
EPSS
Exploit-DB