Une CVE (Common Vulnerabilities and Exposures) est un identifiant public attribué à une faille de sécurité connue, par exemple CVE-2021-4034. Une distribution assemble un grand nombre de logiciels venus d'autres projets : chaque CVE publiée sur l'un d'eux peut la concerner. GLF OS surveille donc ces failles automatiquement, chaque nuit, avec l'outil vulnix.
GLF OS repose sur NixOS : chaque paquet y est rangé dans son propre dossier du store Nix (/nix/store), et le système est un ensemble de ces paquets. On appelle closure l'ensemble des paquets dont dépend un élément ; la closure d'exécution se limite à ce qui sert à le faire fonctionner, sans les outils de construction.
vulnix parcourt cette closure et compare le nom et la version de chaque paquet à la NVD (National Vulnerability Database), la base publique américaine qui recense les CVE. Comme le résume un fichier du dépôt glf-os, « vulnix rapproche NOM + VERSION contre la base NVD : il ne teste rien ». D'où deux conséquences :
bolt ;Chaque CVE porte enfin un score CVSS (Common Vulnerability Scoring System), une note de gravité sur 10. Le rapport de GLF OS distingue les CVE critiques (9 et plus), hautes (7 et plus), moyennes (4 et plus) et basses (moins de 4).
L'audit tourne uniquement dans les pipelines planifiés du dépôt glf-os, jamais lors d'un envoi de code ou d'une demande de fusion. D'après l'historique public des pipelines, il passe vers 01:03 UTC (03:03 heure de Paris) sur testing et vers 03:03 UTC (05:03 heure de Paris) sur develop. Aucun audit ne tourne sur main. L'audit attend le job qui construit le système et alimente le cache de GLF : si ce job échoue, l'audit est sauté. Entre le 24 juillet et le 13 septembre 2026, les audits réussis ont duré de 7 à 22 minutes.
Le système analysé n'est pas votre ordinateur, mais la configuration glf-installer, celle de l'ISO live d'installation (GNOME, modules GLF OS et installeur), sans KDE Plasma ni le catalogue d'applications optionnelles. Seule la closure d'exécution est examinée, à la révision de nixpkgs (le dépôt de paquets de NixOS) figée dans le fichier flake.lock du dépôt : le 13 septembre 2026, une révision de NixOS 26.05 du 6 septembre.
L'analyse est confiée à vulnxscan (projet sbomnix, version 1.7.6), qui appelle vulnix (version 1.12.4) et interroge repology, un site qui recense les versions des paquets dans de nombreuses distributions, pour savoir si une version corrigée existe : c'est le « triage ». Le rapport ne retient que les trouvailles de vulnix.
| # | Étape |
|---|---|
| 1 | Construction du système glf-installer, ou récupération depuis le cache Attic de GLF |
| 2 | vulnxscan --triage : analyse, mise à l'écart des CVE dont un correctif porte l'identifiant, interrogation de repology |
| 3 | Pour chaque paquet signalé, version proposée par la dernière révision de nixos-26.05 |
| 4 | Rapport (Markdown et HTML), pastille et recommandation d'épinglage |
| 5 | Publication des pastilles sur la branche badges, archivage des rapports (30 jours) |
Le rapport sépare la gravité (le score CVSS) de l'actionnabilité (peut-on corriger ?). Pour la seconde, il croise le verdict de repology, qui se réfère à nixpkgs unstable, avec la version proposée par le dernier nixos-26.05, le canal de GLF OS.
| Niveau | Sens |
|---|---|
| À corriger | Correctif applicable sur le canal 26.05 : il faut avancer l'épinglage, c'est-à-dire la révision de nixpkgs fixée dans flake.lock |
| Canal supérieur | Corrigé seulement dans unstable ou 26.11 : cela demanderait une migration de canal |
| En attente amont | Faille considérée comme réelle, sans correctif dans nixpkgs |
| À vérifier | repology n'a pas su trancher, ou le paquet n'a pas été évalué sur 26.05 : revue manuelle |
| Non applicable | repology confirme que la version n'est pas vulnérable, ou la CVE est acquittée par la liste d'exceptions |
Le rapport du 13 septembre 2026 pour develop (identique pour testing) comptait 179 CVE détectées, plus 10 acquittées par la liste d'exceptions : 9 critiques, 92 hautes, 73 moyennes et 5 basses ; 6 à corriger (aucune critique), 34 canal supérieur, 51 en attente amont, 61 à vérifier et 27 non applicables.
Le fichier ci/vulnix-whitelist.toml du dépôt glf-os recense les alertes examinées à la main et jugées sans objet. Au 14 septembre 2026, il compte 14 entrées couvrant 69 CVE, inchangées depuis le 23 juillet 2026.
| Catégorie | Entrées | CVE |
|---|---|---|
| Collisions de noms : la CVE vise un logiciel totalement différent | 7 | 29 |
| Bindings (interfaces vers une bibliothèque C) dont la version n'a rien à voir avec celle de la bibliothèque | 3 | 36 |
| Non applicables démontrés lors du tri des critiques du 23 juillet 2026 | 3 | 3 |
| Rapprochement peu fiable, acquittement court (jusqu'au 31 octobre 2026) | 1 | 1 |
La règle écrite en tête du fichier : « ne jamais acquitter une CVE sans avoir verifie que la description NVD parle bien d'un AUTRE logiciel. En cas de doute, on laisse remonter. » Chaque entrée porte un commentaire qui justifie l'acquittement, par convention plutôt que par contrainte technique. Deux exemples :
bolt, 4 CVE : « CVE du CMS Bolt (PHP). Ici : demon Thunderbolt bolt 0.9.x. »perl, CVE-2026-8376 : « Depassement de tampon lors de la compilation de regex, uniquement sur architectures 32 bits. GLF-OS est x86_64 : non applicable. »Côté correction, l'historique du dépôt montre un levier : avancer l'épinglage de nixpkgs, fait explicitement le 23 juillet 2026 pour corriger 11 critiques remontées par l'audit.
Une pastille (badge) est une étiquette colorée affichée sur la page d'un dépôt. Celle de l'audit, « CVE develop », affiche par exemple 0 crit a corriger (2026-09-13). Elle est rouge s'il existe au moins une CVE critique au niveau « À corriger », verte sinon, et ne compte rien d'autre : le 13 septembre 2026, elle était verte alors que le rapport contenait 9 critiques (3 « Canal supérieur », 6 « En attente amont ») et 92 hautes.
Important
Une pastille verte ne signifie pas « aucune faille ». Elle signifie qu'aucune CVE critique n'est corrigeable en avançant l'épinglage de nixpkgs sur le canal 26.05.
La seconde pastille recommande ou non d'avancer l'épinglage :
| Affichage | Couleur | Sens |
|---|---|---|
pin 26.05@<commit> : -<nombre> CVE (<date>) |
bleu | avancer vers ce commit corrigerait ce nombre de CVE « À corriger », toutes gravités confondues |
pin a jour sur 26.05 |
vert | aucune CVE « À corriger » |
canal non evalue |
gris | la comparaison avec 26.05 a échoué |
Au 13 septembre 2026, elle affichait pin 26.05@21a67dc4 : -6 CVE (2026-09-13). Aucun automatisme n'applique cette recommandation : c'est une indication pour les mainteneurs.
Où les voir. Les pastilles de develop figurent dans le README du dépôt glf-os sur Framagit, section « Sécurité (CVE) » ; celles de testing sont seulement publiées, par exemple https://framagit.org/gaming-linux-fr/glf-os/glf-os/-/raw/badges/vulnix-testing.json. Les rapports complets sont les artefacts du job audit: vulnix (CVE), conservés 30 jours : ouvrez-le depuis la liste des jobs, ou utilisez https://framagit.org/api/v4/projects/117857/jobs/<id_job>/artifacts/vulnix-rapport.md. Aucune adresse stable ne mène au dernier rapport.
Savoir si l'audit a tourné. La date entre parenthèses de la pastille est celle du dernier audit qui a produit un rapport. L'audit étant non bloquant, un pipeline peut apparaître réussi malgré un audit en échec : le 14 septembre 2026, repology refusait les connexions, aucun rapport n'a été produit et les pastilles sont restées datées du 13 septembre.
Important
L'audit est un outil de visibilité, pas une barrière. Selon la configuration de la CI, « nixpkgs traine en permanence des CVE amont, l'objectif est la visibilite, pas le gate ».
glf-update suit la pointe du canal nixos-26.05, l'audit la révision figée dans le dépôt : le 14 septembre 2026, une machine de test tournait sur une révision du 10 septembre, plus récente que celle auditée. Un correctif publié dans le canal devrait donc vous parvenir sans attendre le dépôt, et le rapport peut surestimer l'exposition d'une machine à jour, ou la sous-estimer pour une machine qui ne se met plus à jour.polkit 1.pam (CVE-2021-4034) est un faux positif : c'est un fichier de configuration PAM nommé polkit-1.pam, lu par vulnix comme le paquet « polkit » en version « 1.pam », alors que le polkit du système est en version 127, déjà corrigée. libpng 1.2.59 (5 CVE), en revanche, n'est pas un faux positif : c'est le paquet séparé libpng12, embarqué par l'environnement de compatibilité d'appimage-run, et la NVD indique qu'au moins deux de ces CVE (CVE-2026-33416 et CVE-2026-34757) visent bien la branche 1.2. Ces failles sont réelles mais mal classées : aucune avance d'épinglage ne fera passer ce paquet en version 1.6.La mesure la plus utile reste un système à jour. Par défaut, glf-update s'en charge : il se lance une minute après le démarrage, puis toutes les 12 heures. Voir Mettre à jour son système.
Vous pouvez analyser votre système sans installer vulnix :
nix run nixpkgs#vulnix -- -C --system
--system désigne le système en cours d'utilisation, et -C limite l'analyse à la closure d'exécution, comme le rapport de GLF OS.
Le premier lancement télécharge la base NVD dans ~/.cache/vulnix ; les suivants ne récupèrent que les modifications. Sur une machine de test GLF OS, le 14 septembre 2026, il a pris 7 min 54 s (commande préfixée par nice -n 19), avec un pic de mémoire d'environ 2,0 Gio et un cache de 358 Mio. Un code de sortie 2 signifie simplement que des vulnérabilités ont été trouvées. En cas d'erreur d'encodage, lancez d'abord export LANG=C.UTF-8.
Cet essai a signalé « 72 derivations with active advisories », soit 215 CVE distinctes. Un tel résultat diffère du rapport de GLF OS pour deux raisons :
glf-update. L'essai a fait apparaître des paquets propres à cette machine, comme kitty, fzf ou gimp ;bolt-0.9.8, polkit-1.pam, libpng-1.2.59 et lapack-3.Note
Une longue liste de CVE ne signifie pas que votre machine est compromise. vulnix ne cherche aucune trace d'intrusion : chaque ligne est une correspondance de nom et de version, qui peut être un faux positif ou une faille déjà corrigée sans changement de version. Pour juger une alerte, lisez sa description NVD et vérifiez la plage de versions visée.
Si vous pensez qu'une faille touche réellement GLF OS, ou si vous repérez un faux positif non documenté, consultez Signaler un problème.