![[Image: template-clustering-1024x621.png]](https://www.vaadata.com/blog/wp-content/uploads/2024/08/template-clustering-1024x621.png)
Une vulnérabilité corrigée dans le scanner de vulnérabilités open-source Nuclei aurait pu permettre à des attaquants de contourner la vérification des signatures en introduisant discrètement du code malveillant dans des modèles exécutés sur des systèmes locaux.
Nuclei est un scanner de vulnérabilités open-source populaire, créé par ProjectDiscovery, qui analyse les sites web pour détecter des vulnérabilités et d'autres failles.
Le projet utilise un système de modèles basé sur YAML, comprenant plus de 10 000 modèles pour identifier des vulnérabilités connues, des mauvaises configurations, des fichiers de configuration exposés, des webshells et des portes dérobées.
Fonctionnement des modèles YAML dans NucleiLes modèles YAML incluent également un protocole permettant d'exécuter localement des commandes ou des scripts, étendant ainsi les fonctionnalités des modèles.
Chaque modèle est "signé" avec un hash digest, que Nuclei utilise pour vérifier que le modèle n'a pas été modifié et n'inclut pas de code malveillant. Ce hash digest est ajouté à la fin des modèles sous la forme :
Code :
[b]# digest: <hash>[/b]Origine du problèmeLa faille provient :
- D'une différence de traitement des sauts de ligne (\r) :
- La logique de vérification de Go traite comme faisant partie de la même ligne.Code :
[b]\r[/b]
- Le parseur YAML, en revanche, l'interprète comme un saut de ligne.
Cette divergence permet aux attaquants d’injecter du contenu malveillant qui échappe à la vérification mais est toujours interprété par le parseur YAML.
- La logique de vérification de Go traite
- Gestion des multiples lignes de signature
:Code :[b]# digest:[/b]- Nuclei ne vérifie que la première occurrence dedans un modèle, ignorant les suivantes.Code :
# digest:
- Les attaquants peuvent exploiter cela en ajoutant des charges malveillantes dans des sections supplémentaires, qui contiennent du code malveillant exécuté par le parseur YAML.Code :
[b]# digest:[/b]
- Nuclei ne vérifie que la première occurrence de
Code :
[b]\r[/b] Code :
[b]# digest:[/b]Conseils aux utilisateurs :
- Mettez à jour Nuclei à la dernière version pour éviter les risques d'exploitation, car les détails techniques de cette faille sont désormais publics.
- Utilisez Nuclei dans une machine virtuelle ou un environnement isolé pour réduire les risques liés aux modèles malveillants.
Sources
https://www.bleepingcomputer.com/news/se...ification/
https://thehackernews.com/2025/01/resear...uclei.html
https://projectdiscovery.io/nuclei


![[-]](https://www.tisi-fr.com/board/images/collapse.png)
