
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2025-54288 is a source container identification vulnerability via command-line spoofing in the devLXD server of Canonical LXD, classified as an information spoofing flaw (CWE-290: Authentication Bypass by Spoofing). It affects LXD versions 4.0.0 through 5.21.3 and 6.1.0 through 6.4.x on Linux container platforms. The vulnerability was published on October 2, 2025, and was reported by GMO Flatt Security Inc. It carries a CVSS v3.1 base score of 6.8 (Medium) and a CVSS v4.0 base score of 5.1 (Medium) (GitHub Advisory, Github Advisory).
The root cause lies in the findContainerForPID function in lxd/lxd/api_devlxd.go, which identifies the source container of a devLXD API request using a two-step process: first by reading /proc/<pid>/cmdline and checking for a process name starting with [lxc monitor], then by PID namespace comparison as a fallback. Because Linux allows any process to set an arbitrary process name (e.g., via exec -a in bash), an attacker with root privileges inside any container can spoof the [lxc monitor] process name and append a target container's projectName_containerName identifier, causing LXD to misidentify the requesting container. The fix requires verifying that the PID namespace of the process matches the PID namespace of the LXD host process before trusting cmdline-based identification (GitHub Advisory, Github Advisory).
Successful exploitation allows an attacker with root access inside one container to impersonate any other container on the same LXD host and retrieve its metadata (instance-id, local-hostname), configuration data (user.* and cloud-init.* keys including SSH keys and cloud-init user/vendor data), and device information via the devLXD API endpoints /1.0/meta-data, /1.0/config, /1.0/config/{key}, and /1.0/devices. In multi-project LXD environments, this enables cross-project information leakage, potentially exposing sensitive credentials or configuration secrets stored in container metadata. There is no integrity or availability impact, but the confidentiality breach could facilitate further lateral movement or privilege escalation within the container environment (GitHub Advisory).
A proof-of-concept exploit is publicly available in the GitHub security advisory, demonstrating the attack using a simple bash one-liner with exec -a to spoof the process name. There is no evidence of in-the-wild exploitation at this time, and no threat actor attribution has been reported. The EPSS score is approximately 0.064% (0.000360 per Feedly data), placing it in the 20th percentile for exploitation likelihood. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog (Github Advisory, GitHub Advisory).
EEEE) that has the devLXD socket (/dev/lxd/sock) accessible.curl --unix-socket /dev/lxd/sock http://lxd-host/1.0/meta-data to confirm access and identify the current container's identity.DDDD in project test-project) through any available means (e.g., network scanning, shared storage artifacts, or prior reconnaissance).exec -a to rename the current process to [lxc monitor] and append the target container identifier in the format projectName_containerName as a proxy argument: bash -c "exec -a '[lxc monitor]' curl --unix-socket /dev/lxd/sock http://lxd-host/1.0/meta-data -x 'test-project_DDDD'"findContainerForPID function reads the spoofed cmdline, identifies the request as originating from container DDDD, and returns that container's metadata, configuration, or device information to the attacker.user.* config keys) to pivot to other systems or escalate privileges (GitHub Advisory)./dev/lxd/sock) from within containers, particularly to /1.0/meta-data, /1.0/config, or /1.0/devices endpoints for containers other than the requesting one.[lxc monitor] that are not actual LXC monitor processes (detectable by checking the PID namespace of the process against the host's LXD PID namespace); curl or similar tools spawned with spoofed process names via exec -a.Canonical has released patched versions LXD 5.21.4 (for the 5.21 series) and LXD 6.5 (for the 6.x series); the LXD 5.0 series is considered not critical and the 4.0 series is EOL — neither will receive patches. The fix modifies the findContainerForPID function to validate that the PID namespace of the process matches the PID namespace of the LXD host process before trusting cmdline-based container identification. As interim mitigations, administrators should restrict root access within containers, implement strict container isolation policies, monitor devLXD API access, and use network segmentation to limit container-to-container communication (GitHub Advisory, Github Advisory).
The vulnerability was reported by GMO Flatt Security Inc. and disclosed by Canonical on October 2, 2025, via the GitHub Security Advisory. Detection plugins have been published by Tenable (Nessus plugin IDs 269498, 270713, 271199) and Qualys (detection IDs 6271254, 6563561), indicating broad scanner coverage. Debian has issued security updates for the related incus package (DSA-6028-1), and Debian Backports published BSA-125 for incus as well, reflecting downstream impact on derivative projects (Github Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."