Listen to this Post
How the Mentioned CVE Works
The vulnerability CVE-2025-54293 is a path traversal flaw within the log file retrieval function of Canonical LXD 5.0 LTS. An authenticated remote attacker can exploit this by submitting specially crafted requests for log file names. The function fails to properly sanitize user input containing directory traversal sequences like ../. This allows the attacker to break out of the intended log directory. By crafting a log file name such as ../../../../etc/passwd, the request path is manipulated. The flawed function concatenates this unsanitized input to a base directory path. Consequently, the server processes the request to access a file outside the restricted container environment. Alternatively, the vulnerability can be triggered through symbolic links (symlinks) if the attacker can influence log file creation. A symlink planted within the container could point to a sensitive host system file. When the log retrieval function later accesses this symlink, it dereferences the link. This causes the host kernel to follow the link path and read the targeted host file. The function’s lack of validation against symlink attacks enables this indirect path traversal. The core issue is the failure to resolve and validate the final canonical path before file operations. Authentication is required, but any user with container access privileges can execute the attack. Successful exploitation results in the disclosure of arbitrary file content from the host filesystem. This breach fundamentally compromises the security boundary between the container and the host.
DailyCVE Form
Platform: Canonical LXD
Version: 5.0 LTS
Vulnerability: Path Traversal
Severity: Critical
Date: 10/02/2025
Prediction: 12/15/2025
What Undercode Say
Analytics
`$ lxc exec — bash`
`$ find / -type l -name “.log” 2>/dev/null`
` Crafted request: /1.0/containers//logs?path=../../../etc/shadow`
`curl -k -X GET –unix-socket /var/snap/lxd/common/lxd/unix.socket “https://a$`
`lxc config show –target=global</h2>
<h2 style="color: blue;">grep -r “log.path” /var/snap/lxd/common/lxd/`
<h2 style="color: blue;">
How Exploit
1. Authenticate to the LXD API or socket.
2. Identify a container with log access.
- Craft a GET request to the logs endpoint with a `path` parameter containing traversal sequences.
- Alternatively, create a symlink inside the container pointing to a host target.
- Request the log file using the symlink’s name.
- The host system returns the content of the arbitrary file.
Protection from this CVE
1. Apply the official patch from Canonical immediately.
2. Restrict LXD API access with network firewalls.
3. Implement strict kernel security modules (AppArmor/SELinux).
4. Audit and minimize user privileges within containers.
- Monitor for anomalous file read patterns from containers.
6. Disable unused features and endpoints.
Impact
- Arbitrary host file read.
- Disclosure of secrets and configuration.
- Complete container escape vector.
- Privilege escalation to host root.
- System integrity compromise.
- Critical infrastructure risk.
🎯Let’s Practice Exploiting & Learn Patching For Free:
Sources:
Reported By: nvd.nist.gov
Extra Source Hub:
Undercode

