CVE-2026-34177: Canonical LXD VM restriction bypass in isVMLowLevelOptionForbidden

CVE-2026-34177 · Severity: critical · CVSS 9.1 · Published 2026-04-09

A vulnerability in LXD allows users with limited permissions to bypass security restrictions and gain full administrative control over the entire server cluster. LXD is a system container and virtual machine manager used to run multiple isolated environments on a single server. By exploiting this flaw, an untrusted user (such as a student in a lab or a tenant in a shared hosting environment) can escape their isolated virtual machine and access sensitive data or take over the host system.

Technologies: Canonical LXD, github.com/canonical/lxd (Go). Vendors: Canonical, Go.

Quick answers

Is CVE-2026-34177 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-34177 being exploited in the wild.
How severe is CVE-2026-34177?
Critical severity, with a CVSS score of 9.1, published 9 April 2026.
Which products and versions are affected?
Canonical LXD LXD 4.0, 5.0, 5.21, 6.7; github.com/canonical/lxd (Go) >= 0.0.0-20210305023314-538ac3df036e, <= 0.0.0-20260226085519-736f34afb267, SEMVER:introduced=0.0.0-20210305023314-538ac3df036e, SEMVER:introduced=0.0.0-20210305023314-538ac3df036e,last_affected=0.0.0-20260226085519-736f34afb267.
Is there a fix for CVE-2026-34177?
A patch was published on 2026-04-10: Interim snap releases published for multiple LTS series. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-34177 attacked?
It is attacked with local access, in an operating system.
Am I affected by CVE-2026-34177?
Check whether you run Canonical LXD or github.com/canonical/lxd (Go) 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.

Technical details

The 'isVMLowLevelOptionForbidden' function in 'lxd/project/limits/permissions.go' fails to include 'raw.apparmor' and 'raw.qemu.conf' in its forbidden list. This allows a user with 'can_edit' permissions in a restricted project to bypass the 'restricted.virtual-machines.lowlevel=block' security control. An attacker can inject arbitrary AppArmor rules to grant the QEMU process access to the LXD unix socket and use 'raw.qemu.conf' to bridge that socket into the guest VM as a serial device. Once bridged, the attacker can issue administrative API requests from within the VM to elevate their privileges to cluster administrator, leading to a full host escape. Patches are available in interim releases for LXD series 4.0, 5.0, 5.21, and 6.x.

Affected products

  • Canonical LXD LXD 4.0, 5.0, 5.21, 6.7

Identifiers

  • CVE-2026-34177
  • GHSA-fm2x-c5qw-4h6f
  • GO-2026-5368

Timeline

  • 2026-04-09: disclosed
  • 2026-04-09: advisory
  • 2026-04-10: patched: Interim snap releases published for multiple LTS series.

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.