9.1 CRITICAL
- CVSS version: 3.1
- Attack vector (AV): NETWORK
- Attack complexity (AC): LOW
- Privileges required (PR): HIGH
- User interaction (UI): NONE
- Scope (S): CHANGED
- Confidentiality impact (C): HIGH
- Integrity impact (I): HIGH
- Availability impact (A): HIGH
VM lowlevel restriction bypass via raw.apparmor and raw.qemu.conf
Canonical LXD versions 4.12 through 6.7 contain an incomplete denylist in isVMLowLevelOptionForbidden (lxd/project/limits/permissions.go), which omits raw.apparmor and raw.qemu.conf from the set of keys blocked under the restricted.virtual-machines.lowlevel=block project restriction. A remote attacker with can_edit permission on a VM instance in a restricted project can inject an AppArmor rule and a QEMU chardev configuration that bridges the LXD Unix socket into the guest VM, enabling privilege escalation to LXD cluster administrator and subsequently to host root.
References
Affected products
- <5.0.7
- <5.21.5
- <6.8.0
Matching in nixpkgs
pkgs.lxd-ui
Web user interface for LXD
pkgs.lxd-lts
Daemon based on liblxc offering a REST API to manage containers
pkgs.lxd-image-server
Creates and manages a simplestreams lxd image server on top of nginx
pkgs.lxd-unwrapped-lts
Daemon based on liblxc offering a REST API to manage containers
pkgs.python312Packages.pylxd
Library for interacting with the LXD REST API
pkgs.python313Packages.pylxd
Library for interacting with the LXD REST API
pkgs.python314Packages.pylxd
Library for interacting with the LXD REST API
pkgs.terraform-providers.lxd
None
Package maintainers
-
@mkg20001 Maciej Krüger <mkg20001+nix@gmail.com>