# LXD arbitrary file write on host via exec-output symlink

Source: https://junglewise.ai/threats/lxd-has-arbitrary-file-write-on-host-via-exec-output-symlink-in-crafted-cf88efc7  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-11-06. Updated: 2026-11-06  
License: CC BY 4.0 with a link back

Severity: critical · CVSS 9.9 · Published 2026-11-06

LXD is a container management system that allows users to launch and manage Linux containers. An attacker can craft a malicious container image with a symlink at `exec-output` that causes the container runtime to write files to arbitrary locations on the host system, potentially enabling command execution with root privileges.

Technologies: [github.com/canonical/lxd (Go)](https://junglewise.ai/threats/technologies/github-com-canonical-lxd), [Linux Containers LXD](https://junglewise.ai/threats/technologies/linux-containers-lxd). Vendors: [Go](https://junglewise.ai/threats/vendors/go), [Linux Containers](https://junglewise.ai/threats/vendors/linux-containers).

## Quick answers

**Is This vulnerability exploited in the wild?** No. Junglewise Threat Intelligence has no report of This vulnerability being exploited in the wild.

**How severe is This vulnerability?** Critical severity, with a CVSS score of 9.9, published 6 November 2026.

**Which products and versions are affected?** github.com/canonical/lxd (Go) < 0.0.0-20260626085134-124f90100640, SEMVER:introduced=0,fixed=0.0.0-20260626085134-124f90100640; Linux Containers LXD <unknown.

**Is there a fix for This vulnerability?** Yes. github.com/canonical/lxd (Go): upgrade to 0.0.0-20260626085134-124f90100640 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is This vulnerability attacked?** It is attacked over the network, in a network appliance.

**Am I affected?** Check whether you run github.com/canonical/lxd (Go) or Linux Containers LXD at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- github.com/canonical/lxd (Go): upgrade to 0.0.0-20260626085134-124f90100640 or later

  ```sh
  go get github.com/canonical/lxd@v0.0.0-20260626085134-124f90100640
  ```


## Technical details

The vulnerability exists in the `/instances/$name/exec` endpoint's `record-output` functionality, which stores command output in the `exec-output` directory. If `exec-output` is a symlink in the container image, `os.OpenFile` in `instance_exec.go` follows the symlink and writes files like `exec_UUID.stdout` and `exec_UUID.stderr` to the target location on the host. An attacker can place the symlink to point to sensitive directories (e.g., `/etc/cron.d`) and write cron job files to achieve arbitrary command execution.

## Affected products

- Linux Containers LXD <unknown

## Timeline

- 2024-11-06: disclosed

## Related threats

- [LXD restricted project bypass leading to arbitrary command execution](https://junglewise.ai/threats/lxd-has-restricted-project-bypass-leading-to-arbitrary-command-9034cd45)
- [LXD project restriction bypass in custom volume copy](https://junglewise.ai/threats/lxd-has-project-restriction-bypass-for-custom-volume-copy-across-d414fa7a)
- [LXD project restriction bypass in instance copy](https://junglewise.ai/threats/lxd-has-project-restriction-bypass-in-instance-copy-across-projects-48d466e0)
- [Incus arbitrary file write via trusted image hash](https://junglewise.ai/threats/lxd-has-arbitrary-file-write-on-client-due-to-trusted-image-hash-072dacee)
- [LXD argument injection in backup compression algorithm](https://junglewise.ai/threats/lxd-has-argument-injection-in-backup-compression-algorithm-leading-to-50a60f2a)
