Canonical - CVE-2026-12411

Date de publication :

Il s'agit d'une vulnérabilité de contrôle d'accès absent dans le handler devLXDInstancePatchHandler de LXD.

LXD est un hyperviseur de conteneurs et de machines virtuelles open-source développé par Canonical. Il repose sur LXC et offre une gestion unifiée d'instances légères via une API REST, avec un support natif du multi-tenant et des politiques de restriction par projet.

Lors de l'attachement d'un nouveau périphérique disque via une requête PATCH sur /dev/lxd, la fonction isDeviceAccessible() vérifie uniquement la forme du périphérique (type, source, pool) sans jamais charger le volume ni comparer son propriétaire (volatile.devlxd.owner) à l'identité appelante. Un invité peut ainsi nommer dans sa requête PATCH un volume custom appartenant à un autre invité du même projet. Le handler émet ensuite un appel interne à instancePatch qui contourne le contrôle d'accès HTTP et n'effectue que des vérifications de quota projet.

Elle permet à un invité non privilégié d'accéder en lecture et en écriture au volume de stockage d'un autre tenant sur le même hôte LXD.

Informations

La faille est activement exploitée : Non

Un correctif existe : Oui

Une mesure de contournement existe : Oui

Risques

•   Contournement de la politique de sécurité
•   Atteinte à la confidentialité des données
•   Atteinte à l'intégrité des données

Exploitation

La vulnérabilité exploitée est du type
CWE-639 : Authorization Bypass Through User-Controlled Key

Détails sur l'exploitation
•   Vecteur d'attaque : Local
•   Complexité de l'attaque : Faible
•   Privilèges nécessaires pour réaliser l'attaque : Authentification utilisateur simple
•   Interaction d'un utilisateur ayant accès au produit est-elle nécessaire : Non
•   L'exploitation de la faille permet d'obtenir des droits privilégiés : Non

Preuve de concept
Une preuve de concept est disponible en sources ouvertes.

Systèmes ou composants affectés

LXD versions 6.6 jusqu'à 6.8 (inclus)

Contournement provisoire

Désactiver security.devlxd.management.volumes sur l'ensemble des instances dans les projets multi-tenant

Solutions ou recommandations

LXD version 6.9 et supérieures