Aller au contenu

Nix et Lix corrigent des failles du démon qui permettent un accès root local

Nix et Lix ont divulgué le 13 octobre des failles qui, enchaînées, donnent un accès root. Les correctifs figurent dans Nix 2.35.3 et Lix 2.95.4, entre autres versions correctives.

Par Tech AI Wire Team

3 min de lecture

XLinkedIn
L'avis de sécurité GitHub GHSA-jwvx-xq5j-gc56 consacré à nix-daemon, classé High avec une sévérité de 8,4 sur 10, qui liste les versions de Nix touchées et corrigées.

En chiffres

CVSS score of the most serious Nix flaw
8.4
Nix security advisories published on October 13
5
Nix release that introduced the repair flaw
2.1

Les projets Nix et Lix ont divulgué conjointement des failles de sécurité le 13 octobre 2026. Enchaînées, elles peuvent donner un accès root sur les machines qui exécutent leurs démons de compilation de paquets. Des versions corrigées sont sorties le même jour. Toute installation multi-utilisateur de Nix ou de Lix dont le démon est accessible à des utilisateurs non fiables doit être mise à jour dès maintenant.

Nix est un gestionnaire de paquets et un système de build sur lequel repose la distribution Linux NixOS. Lix est une implémentation distincte de Nix. Tous deux font tourner un service en arrière-plan, le démon, qui compile des logiciels pour le compte des utilisateurs locaux.

Les failles

L'avis commun publié sur NixOS Discourse recense plusieurs problèmes. Le plus grave permet à un utilisateur local de corrompre des fichiers qui seront ensuite exécutés en tant que root.

ProblèmeQui est concernéSévérité
Des requêtes « repair » (réparation) non privilégiées peuvent remplacer des fichiers du store avant leur vérificationInstallations multi-utilisateurs sous Linux et macOSÉlevée, 8,4 sur 10 (avis de Nix)
Un dépassement d'entier dans builtins.genList provoque une écriture dans la mémoire du tasSystèmes qui évaluent du code Nix non fiableMoyenne
Évasion du bac à sable macOS quand le profil de sandbox d'un build dépasse une taille limitemacOS avec sandbox = true ou relaxedMoyenne
L'installateur multi-utilisateur laisse des fichiers du store appartenant à l'utilisateur qui a fait l'installationNouvelles installations via l'installateur scripté ; NixOS n'est pas concernéMoyenne, 5,6
Le démon accepte les connexions des utilisateurs de buildmacOS et FreeBSD ; Linux n'est pas concernéFaible, 3,8

Côté Nix, cinq avis GitHub ont été publiés. Aucun n'a encore de numéro CVE.

Comment fonctionne l'élévation vers root

Le bug principal se situe dans la façon dont le démon ajoute des fichiers au store Nix, le répertoire où se trouvent tous les logiciels compilés. D'après l'avis de Nix GHSA-jwvx-xq5j-gc56, le démon décompressait une archive envoyée directement dans son chemin final du store. Il ne vérifiait le hash de l'archive qu'après coup.

Les versions vulnérables laissaient aussi des utilisateurs non fiables demander une réparation (« repair »), qui remplace un chemin existant du store. Si la vérification du hash échouait, les fichiers malveillants restaient sur le disque. Quand le démon tourne en tant que root, précise l'avis, tout utilisateur inscrit dans allowed-users pouvait exécuter du code en tant que root.

La faille remonte à Nix 2.1, qui a ajouté les envois en streaming. Le correctif interdit le mode réparation aux utilisateurs non fiables. Il décompresse aussi les envois dans un dossier temporaire privé et ne les met en place qu'une fois le hash validé.

L'avis attribue la découverte à Guthrie McAfee Armstrong et à un chercheur connu sous le nom de joaoviictorti.

Quelles versions installer

ProjetVersions corrigées
Nix2.35.3, 2.34.9, 2.31.6, 2.30.6, 2.28.8
Lix2.95.4, 2.94.3

Selon l'avis, les branches de Nix 2.29, 2.32 et 2.33, qui ne sont plus prises en charge, doivent être considérées comme vulnérables. Lix 2.93 et les versions antérieures sont touchées mais ne sont plus maintenues. Des mises à jour sont en cours pour les canaux NixOS unstable et 26.05.

Le gestionnaire de paquets Guix n'est pas concerné.

Un calendrier étalé sur des mois

Le compte rendu de l'équipe Lix montre combien de temps la coordination a pris. Le bug de dépassement a été signalé à l'équipe le 29 juillet, et les correctifs étaient prêts le 29 août. La chaîne d'élévation de privilèges sur macOS est arrivée le 12 septembre, et l'évasion du bac à sable le 9 octobre.

Le billet de Lix insiste sur le fait que son démon n'est pas une frontière de sécurité. Il conseille aux fermes de build de faire tourner le démon sous un utilisateur non privilégié lorsque c'est possible.

Tech AI Wire a couvert le mois dernier un autre problème de chaîne d'approvisionnement : un binaire strip trafiqué capable de piéger NixOS avec une porte dérobée.

Ce que cela signifie pour les développeurs

  • Mettez à jour chaque installation multi-utilisateur. Toute machine sur laquelle plus d'une personne ou d'un service communique avec le démon Nix est exposée. Les installations mono-utilisateur courent moins de risques, mais doivent quand même être mises à jour.
  • Suivez la bonne procédure de mise à niveau pour Lix. L'avis prévient qu'un simple nix upgrade-nix peut désinstaller Lix 2.95.x avant d'installer la nouvelle version. Utilisez plutôt le script de mise à niveau de Lix 2.95.4.
  • Vérifiez les propriétaires du store après une installation scriptée. Si Nix a été installé avec le script multi-utilisateur, l'avis donne des commandes pour que chaque chemin du store appartienne de nouveau à root.
  • Auditez allowed-users. Tant que vous n'avez pas mis à jour, toute personne de cette liste peut en pratique devenir root. Réduisez-la aux comptes qui doivent compiler.
  • Traitez le code Nix non fiable comme non fiable. Les systèmes de CI qui évaluent des pull requests d'inconnus pourraient déclencher le bug de dépassement. Exécutez ces évaluations sur des machines isolées.

Sources

  1. Security advisory for Nix and Lix - October 2026 - NixOS Discourse
  2. 3 security issues in Lix - Lix
  3. nix-daemon: Unprivileged clients can corrupt store paths via repair flag in AddToStoreNar/AddMultipleToStore - GitHub (NixOS/nix)
  4. Nix and Lix local root-privilege-escalation vulnerabilities - LWN.net

Articles liés

A terminal running strip on a compiled binary, with the file listing showing it shrink from 5.2M to 1.8M and the ELF header change from not stripped to stripped.
Programmation

Un binaire strip trafiqué peut piéger tout NixOS

Des chercheurs ont construit l'attaque trusting-trust de Ken Thompson à partir de GNU strip, et non d'un compilateur, pour piéger presque tous les binaires d'un installateur NixOS.