CVE-2026-86335 Overview
CVE-2026-86335 is a missing authorization vulnerability [CWE-862] in the imageDownload function of Canonical LXD, a Linux container and virtual machine manager. The flaw affects LXD versions before 5.0.10, 5.21.8, and 6.10 on Linux. A project-restricted client can access private images belonging to other projects by reusing a known local image fingerprint during image or instance import requests. The vulnerability breaks the multi-tenant isolation model that LXD projects are designed to enforce.
Critical Impact
Authenticated users scoped to one LXD project can read confidential image contents from other projects, exposing sensitive data across tenant boundaries.
Affected Products
- Canonical LXD versions before 5.0.10
- Canonical LXD versions before 5.21.8
- Canonical LXD versions before 6.10
Discovery Timeline
- 2026-09-28 - CVE CVE-2026-86335 published to NVD
- 2026-09-28 - Last updated in NVD database
Technical Details for CVE-2026-86335
Vulnerability Analysis
LXD organizes resources such as instances, networks, and images into projects to enforce tenant separation. The imageDownload code path handles image retrieval during image import and instance creation workflows. The function fails to verify that the caller is authorized to read an image when a local image already exists with the requested fingerprint. If the client supplies a fingerprint that matches a private image stored in a different project, LXD returns the cached image data instead of refetching or denying the request.
Because image fingerprints are deterministic SHA-256 content hashes, an attacker who learns or guesses a fingerprint can trigger the reuse path. The result is cross-project disclosure of image contents, which may include configured credentials, application code, or sensitive filesystem data.
Root Cause
The root cause is a missing authorization check [CWE-862] in the local fingerprint reuse branch of imageDownload. The function treats the presence of a locally cached image as sufficient grounds to serve it, bypassing the project-scoped access control that normally gates image reads. Upstream pull requests #18987, #19001, #19002, and #19003 introduce the missing project-membership check before reusing cached images.
Attack Vector
Exploitation requires an authenticated client with permissions in at least one LXD project. The attacker issues an image import or instance creation request referencing the fingerprint of a private image owned by another project. LXD identifies the fingerprint as locally present and returns the image without validating project ownership. The attack is remotely reachable over the LXD API but has elevated complexity because the attacker must know or recover a target fingerprint. See the GitHub Security Advisory GHSA-j7p3-5g2v-69j8 for additional detail.
Detect Identity Attacks the Moment Authentication Fails
Singularity™ Identity surfaces credential misuse, lateral movement, and privilege escalation in real time, so you can contain the breach before it spreads.
Stop Identity AttacksDetection Methods for CVE-2026-86335
Indicators of Compromise
- Image or instance creation API calls that reference fingerprints the requesting project has never previously imported or published.
- Repeated GET or POST operations against /1.0/images/<fingerprint> from a restricted client correlated with fingerprints owned by other projects.
- Successful image downloads logged in LXD audit output where the source project differs from the requester's assigned project.
Detection Strategies
- Enable LXD audit logging and correlate image fingerprint access against the authenticated identity's project scope.
- Baseline normal fingerprint access patterns per project and alert on cross-project fingerprint references.
- Review image import telemetry for clients that attempt fingerprint lookups without a corresponding upload or remote source URL.
Monitoring Recommendations
- Forward LXD daemon logs to a centralized analytics pipeline for query-based detection.
- Monitor TLS client certificate identities and OIDC subjects used against the LXD HTTPS API for anomalous image operations.
- Track image creation timestamps against instance import events to identify replay of known fingerprints.
How to Mitigate CVE-2026-86335
Immediate Actions Required
- Upgrade LXD to version 5.0.10, 5.21.8, or 6.10 or later depending on your maintenance track.
- Audit existing project memberships and remove unnecessary API credentials for untrusted tenants.
- Rotate any secrets, keys, or credentials stored inside private LXD images that may have been exposed.
Patch Information
Canonical released fixes in LXD 5.0.10, 5.21.8, and 6.10. The remediation lands through upstream pull requests #18987, #19001, #19002, and #19003, which add project authorization checks before serving locally cached images. Full details are published in GitHub Security Advisory GHSA-j7p3-5g2v-69j8.
Workarounds
- Restrict LXD API network exposure to trusted operators until patched versions are deployed.
- Avoid storing sensitive material inside shared image caches on multi-tenant LXD clusters.
- Segregate highly sensitive workloads onto dedicated LXD daemons with no cross-tenant project membership.
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

