Patch Forecast
Amber warning
Patch this week.

GHSA-47w9-6r3f-938g

LXD has restricted project bypass leading to arbitrary command execution

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-48q5-w887-33wv Instance snapshots ignore the restricted.containers.lowlevel=block setting; allowing for arbitrary command execution on the Incus server by abusing lowlevel hooks such as raw.lxc and raw.qemu. Instance snapshots ignore the restricted.co…
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-47w9-6r3f-938gLXD has restricted projectbypass leading to arbitrarycommand executionCVSS 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-pjff-c2wc-f6jmLXD has arbitrary file write onclient due to trusted imagehashCVSS 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-48q5-w887-33wv Instance snapshotsignore therestricted.containers.lowlevel=block setting; allowing for…Where it standsNo known exploitationCONNECTS TOSame weaknessMissing authorisation (CWE-862)399 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-48q5-w887-33wv Instance snapshots ignore the restricted.containers.lowlevel=block setting; allowing for arbitrary command execution on the Incus server by abusing lowlevel hooks such as raw.lxc and raw.qemu. Instance snapshots ignore the restricted.co…

The flaws

  • GHSA-47w9-6r3f-938g: LXD has restricted project bypass leading to arbitrary command execution (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-pjff-c2wc-f6jm: LXD has arbitrary file write on client due to trusted image hash (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-48q5-w887-33wv ### Summary Instance snapshots ignore the `restricted.containers.lowlevel=block` setting; allowing for arbitrary command execution on the Incus server by abusing lowlevel hooks such as `raw.lxc` and `raw.qemu`. ### Details Instance snapshots ignore the `restricted.containers.lowlevel=block` setting; allowing for arbitrary command execution on the Incus server by abusing lowlevel hooks such as `raw.lxc` and `raw.qemu`. As snapshots can be moved from one server to another, a malicious instance+snapshot can be crafted locally, moved to a restricted project and the snapshot restored for arbitrary command execution. In practice, this allows a malicious actor to execute arbitrary commands on the host with root privileges. ### PoC ``` # remote, restricted incus project set rem:project restricted.true incus project set rem:project restricted.containers.lowlevel=block # locally, unrestricted project incus init images:debian/trixie rce-raw-lxc incus config set rce-raw-lxc raw.lxc='lxc.hook.pre-start = /bin/sh -c "/bin/id >/lxc-hook-prestart"' incus snapshot create rce-raw-lxc snap0 #> allow transfer to restricted project incus config unset rce-raw-lxc raw.lxc # locally, transfer and trigger incus move rce-raw-lxc rem: --mode push incus snapshot restore rem:rce-raw-lxc snap0 incus start rem:rce-raw-lxc ``` ### Impact - Bypass of project restrictions. - Arbitrary command execution on the Incus server.

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