En bref

  • CVE-2026-112816 : contournement d'authentification CVSS 10.0 dans LXD et MicroCloud (Canonical) via validation incorrecte de la chaîne de certificats mTLS (CWE-295)
  • Systèmes affectés : LXD antérieur à 4.0.15, 5.0.11, 5.21.9 ou 6.10.1 ; MicroCloud antérieur à 2.1.5 ou 3.4.1 ; Incus (fork communautaire) également affecté
  • Action urgente : mettre à jour immédiatement — LXD 6.10.1, MicroCloud 3.4.1 ; restreindre l'accès au port TCP 8443 aux seules IP d'administration en attendant le patch

Les faits

Le 28 octobre 2026, Canonical a publié l'advisory sécurité concernant CVE-2026-112816, une vulnérabilité de contournement d'authentification notée CVSS 10.0 — le score maximal. La faille affecte LXD, l'hyperviseur de conteneurs Linux développé par Canonical, ainsi que MicroCloud, la solution de cloud en cluster basée sur LXD, et Incus, le fork communautaire de LXD. La criticité maximale s'explique par le vecteur d'attaque réseau, l'absence de privilèges requis, l'absence d'interaction utilisateur nécessaire, et un impact complet sur la confidentialité, l'intégrité et la disponibilité de l'hôte sous-jacent. Le vecteur CVSS v4.0 est AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H.

La vulnérabilité réside dans le mécanisme d'authentification mTLS (mutual TLS) utilisé par l'API REST de LXD. Dans un déploiement LXD en mode réseau — typiquement sur le port TCP 8443 — chaque client doit présenter un certificat lors du handshake TLS. LXD maintient un trust store listant les certificats clients autorisés. Pour chaque connexion entrante, LXD parcourt la chaîne de certificats présentée par le client et vérifie si l'un des certificats de cette chaîne figure dans le trust store.

Le bug fondamental est le suivant : le protocole TLS ne garantit que la possession de la clé privée associée au certificat feuille (leaf certificate) présenté lors du handshake. En revanche, LXD vérifiait également les certificats intermédiaires ou d'autres éléments de la chaîne contre le trust store. Un attaquant qui ne possède que le certificat public d'un client légitime — sans disposer de la clé privée correspondante — peut construire une chaîne de certificats artificielle incluant le certificat du client légitime. LXD détecte alors ce certificat connu dans la chaîne et autorise la connexion, sans avoir vérifié la possession réelle de la clé privée. Il s'agit d'une implémentation incorrecte du mécanisme d'authentification par certificat, classifiée CWE-295 (Improper Certificate Validation) selon NVD/NIST.

Pour exploiter CVE-2026-112816, deux conditions préalables sont nécessaires. Premièrement, l'API HTTPS de LXD doit être accessible depuis le réseau de l'attaquant. Par défaut, LXD n'écoute que sur une socket Unix locale — ce qui rend les installations de base non exposées. En revanche, tout déploiement multi-nœuds, tout cluster MicroCloud ou tout environnement de cloud privé où plusieurs machines doivent communiquer entre elles expose nécessairement l'API sur le réseau. Deuxièmement, l'attaquant doit disposer du certificat public d'un client légitime de l'API LXD cible. Ce certificat peut être obtenu par interception réseau passive lors du handshake TLS, par exfiltration d'un système précédemment compromis, ou via une divulgation accidentelle dans des dépôts de code ou des sauvegardes mal sécurisées.

En cas d'exploitation réussie, l'attaquant obtient les privilèges de l'utilisateur usurpé sur l'API LXD. Selon le rôle de ce client — administrateur, opérateur de conteneurs — cela peut permettre de créer, modifier ou supprimer des conteneurs, de monter des volumes du système hôte dans un conteneur, ou d'exécuter des commandes avec des privilèges root sur l'hôte sous-jacent. Sur certaines configurations MicroCloud, l'accès peut s'étendre à l'ensemble des nœuds du cluster. Les analystes de SOC Prime et Brandefense confirment que l'exploitation aboutit, dans le pire des cas, à un accès root complet sur la machine physique ou la VM hébergeant LXD, via la technique classique de montage du système de fichiers hôte dans un conteneur privilégié.

Le 1er novembre 2026, un premier code de preuve de concept (PoC) a été publié sur GitHub, référencé par la plateforme Sploitus sous deux identifiants distincts (dépôts MrNarsus/cve-2026-112816-poc et dehasoft-tr/cve-2026-112816). Le PoC démontre la reproduction de l'attaque en environnement de laboratoire. Les analystes d'AICybr confirment la reproductibilité de la faille. Au 30 octobre 2026, CVE-2026-112816 n'était pas inscrit dans le catalogue KEV de la CISA (Known Exploited Vulnerabilities), mais la disponibilité publique d'un PoC en moins de quatre jours après la divulgation élève considérablement le risque d'exploitation imminente dans la nature.

Les versions corrigées ont été publiées le 29 octobre 2026 par Canonical. Les corrections se trouvent dans : LXD 4.0.15 (branche LTS 4.0), LXD 5.0.11 (branche LTS 5.0), LXD 5.21.9 (branche feature) et LXD 6.10.1 (branche courante), ainsi que MicroCloud 2.1.5 et 3.4.1. Le correctif modifie la logique de validation du certificat pour n'accepter que le certificat feuille lors de la comparaison avec le trust store, conformément aux exigences formelles du protocole mTLS. La mise à jour est distribuée via les snaps Canonical : commandes snap refresh lxd et snap refresh microcloud.

LXD est utilisé dans les environnements Ubuntu Server, dans les offres Canonical Managed Kubernetes, et dans les solutions cloud de nombreux fournisseurs hébergeant sur Ubuntu. MicroCloud cible les déploiements on-premise et edge computing dans les entreprises. La surface d'attaque mondiale concerne tous les déploiements LXD ayant configuré l'écoute réseau via l'option core.https_address, ce qui est systématique dans les architectures multi-nœuds et les environnements cloud privé. Les incidents liés à cette faille permettraient à un attaquant externe de rebondir vers des infrastructures internes non directement exposées, en utilisant le nœud LXD compromis comme point de pivot.

Impact et exposition

Sont directement exposés tous les systèmes où l'API LXD est configurée pour écouter sur une adresse réseau (option core.https_address définie). Cela inclut tous les déploiements MicroCloud, tous les clusters LXD multi-nœuds et toute installation LXD configurée pour l'administration distante. Les environnements cloud public hébergés sur Ubuntu et utilisant LXD comme couche de virtualisation légère sont également concernés si l'API est exposée sans restriction réseau.

En condition d'exploitation active, un attaquant ayant accès au réseau et disposant du certificat public d'un administrateur LXD peut obtenir un accès root à l'hôte physique ou à la VM hébergeant LXD, via la création d'un conteneur privilégié avec montage du système de fichiers hôte. Cette technique est bien documentée dans la littérature de sécurité des conteneurs Linux et est applicable dès lors que l'accès administrateur à l'API LXD est obtenu.

La disponibilité d'un PoC public et la facilité relative d'obtention des certificats clients (transmis en clair lors du handshake TLS côté client) constituent un risque d'exploitation élevé. Les attaques ciblées d'infrastructure cloud et les fournisseurs d'hébergement sur Ubuntu doivent traiter ce patch en priorité maximale. Canonical ne publie pas de workaround de configuration pour LXD — la mise à jour ou le blocage réseau sont les seules mitigations disponibles.

Recommandations immédiates

  • Appliquer le patch — Canonical Security Advisory du 28 octobre 2026 : mettre à jour vers LXD 6.10.1 via snap refresh lxd, MicroCloud 3.4.1 via snap refresh microcloud
  • Mitigation si patch impossible : restreindre l'accès au port TCP 8443 via pare-feu aux seules adresses IP d'administration légitimes
  • Vérifier l'exposition réseau : lxc config get core.https_address — si non vide, l'API est exposée sur le réseau
  • Auditer les logs LXD pour détecter des connexions suspectes : journalctl -u snap.lxd.daemon | grep -i "auth\|connect\|cert"
  • Pour Incus (fork communautaire) : consulter l'advisory spécifique du projet Incus sur son dépôt officiel

⚠ Urgence maximale

CVSS 10.0, PoC public disponible depuis le 1er novembre 2026. Les infrastructures cloud multi-nœuds utilisant LXD ou MicroCloud doivent appliquer le correctif ou restreindre l'accès réseau à l'API dans les plus brefs délais.

Comment savoir si je suis vulnérable ?

Exécutez snap info lxd | grep installed et vérifiez que la version est supérieure ou égale à 6.10.1, 5.21.9, 5.0.11 ou 4.0.15 selon votre branche. Pour MicroCloud : snap info microcloud | grep installed — version 3.4.1 ou 2.1.5 requise. Exécutez ensuite lxc config get core.https_address : si une adresse IP est retournée, votre API est exposée sur le réseau et la mise à jour est critique.

Votre infrastructure est-elle exposée ?

Ayi NEDJIMI réalise des audits ciblés pour identifier et corriger vos vulnérabilités.

Demander un audit