Executive brief
Incus is a container management platform that isolates workloads using project-based access controls. A flaw in the instance copy feature bypasses these project restrictions, allowing an authenticated user to copy containers from restricted projects into projects they can access. An attacker could exploit this to steal sensitive configuration, credentials, or data from instances they should not have permission to view, leading to unauthorized information disclosure and potential system compromise.
Technical details
The vulnerability is an authorization bypass in the instance copy API endpoint (POST /1.0/instances). While the endpoint correctly checks if the caller has permission to create instances in the target project, it fails to validate whether the caller can access the source instance in the source project. The vulnerable code in cmd/incusd/instances_post.go loads the source instance directly from req.Source.Project without performing access control checks. An attacker needs valid credentials restricted to one project, knowledge of an instance name in another restricted project, and network access to the Incus server. The copy operation is limited to the same server, but once copied, instances can be moved between servers. The fix requires adding authorization checks before loading the source instance. Version 7.2.0 and later contain the patch.
Affected products
- LXC Incus < 7.2.0
Timeline
- 2026-06-25: disclosed: Published in GitHub Advisory Database
- 2026-06-25: patched: Fix included in Incus 7.2.0
- 2026-08-28: advisory: Formal advisory published