Sceawere
Vulnerability Detail
CVE-2026-97335UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV
LXD Cross-Project Volume Unauthorized Access
Vulnerability Metadata
- Severity
- High
- Score / CVSS
- 7.7
- Creation Date
- 3h ago
- Vendor
- Canonical
- Product
- LXD
- Attack Type
- CWE-863 Incorrect Authorization
- Vector String
- CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:N/A:N
- Attack Complexity
- LOW
Narrative and Response
Description
Incorrect authorization in the custom storage volume creation endpoint in Canonical LXD versions 5.0.0 and later (fixed in 5.0.10, 5.21.8 and 6.10) on Linux allows an authenticated client with permission to create custom volumes in a project to copy, and so read, any custom storage volume from any other project on the server, including its snapshots and configuration. The client does this with a crafted request that sets a source volume and source.project but omits source.type.
Executive Summary
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Technical Details
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Mitigations
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
References
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Additional Metadata
{
"score": "7.7",
"pubDate": "2026-09-28T14:17:24.103Z",
"pubdate": "2026-09-28T14:17:24.103Z",
"executiveSummary": "A critical authorization vulnerability exists within Canonical LXD's custom storage volume creation endpoint, specifically impacting versions 5.0.0 and later. The flaw originates from an improper access control check that fails to validate the source project boundaries when processing storage volume creation requests.\nThe vulnerability allows an authenticated attacker, who possesses the requisite permissions to create custom volumes within their own assigned project, to perform unauthorized cross-project data access. By crafting a specific API request, an attacker can trigger the replication of any arbitrary custom storage volume from any other project on the host, including sensitive data stored in snapshots and associated configuration metadata.\nThe risk implication is significant as it facilitates unauthorized data exfiltration and potential information disclosure across isolated projects. Successful exploitation requires a valid authentication token for the LXD API but does not necessitate root-level privileges on the host system, provided the user has project-level volume management rights.\nThis vulnerability is remediated in LXD versions 5.0.10, 5.21.8, and 6.10. Administrators are urged to update to these versions to enforce proper cross-project authorization boundaries and prevent illicit inter-project volume operations.",
"technicalDetails": "The root cause of this vulnerability lies in an insufficient authorization logic within the LXD API handler responsible for creating custom storage volumes. Specifically, the implementation fails to enforce strict project-scoping validations when an API request specifies a source for a volume copy operation.\nDuring the processing of a volume creation request, the LXD daemon accepts user-provided parameters to define the origin of the storage volume. When a client submits a request that explicitly defines a 'source' volume and a 'source.project' target, the application logic fails to verify if the requesting user has the appropriate authorization to read from the target project.\nThe exploitation method relies on the omission of the 'source.type' parameter within the crafted API payload. By intentionally omitting this field while populating the source project and volume fields, the attacker bypasses the internal security check that is designed to restrict volume operations to the authenticated user's current project context. The API backend proceeds to initiate a copy operation of the target volume, effectively creating a replica within the attacker-controlled project.\nThe attack flow follows these steps: 1) The authenticated attacker identifies the names of target volumes or projects existing on the host, which may be discoverable depending on server configuration. 2) The attacker submits a POST request to the custom volume endpoint. 3) The payload contains the 'source' and 'source.project' parameters but excludes 'source.type'. 4) The LXD daemon, failing to validate cross-project permissions due to the malformed/incomplete request structure, clones the requested volume from the external project. 5) Once the copy operation completes, the attacker gains full read access to the copied volume's contents, including snapshots, configuration, and data files, effectively exfiltrating the contents from the source project into their own.\nThis flaw affects Canonical LXD versions 5.0.0 and subsequent releases up to the fixed versions. It operates entirely through the standard LXD API, meaning any network-exposed API endpoint (whether over a local socket or network-bound port) is potentially susceptible if an attacker has legitimate, low-privileged access to at least one project. The lack of validation on the source parameters effectively renders the project isolation features of LXD impotent regarding data storage confidentiality."
}