
Preuve de concept d'exploit démontrant l'injection de séquences d'échappement ANSI dans Flawfinder 2.0.19 via des noms de fichiers malveillants, avec procédure pas à pas et détails d'atténuation.
Dans la version 2.0.19 de Flawfinder, aucune désinfection des noms de fichiers n'est effectuée lors de l'analyse de noms de fichiers potentiellement malveillants. Les terminaux affectés connus sont basés sur libvte, et l'exemple ci-dessous montre un mate-terminal.
Cette exploitation a depuis été corrigée dans la version 2.0.20 à compter du 5/17/26 par David Wheeler et moi-même.
Ce dépôt inclut un script bash POC exemple et des informations sur le fonctionnement de cette exploitation.
Dans un répertoire exemple, incluez autant de fichiers que vous le souhaitez, comme illustré ci-dessous :

Les deux fichiers contiennent le même code C :
#include <string.h>
void f(char *s) {
char buf[8];
strcpy(buf, s); /* genuine flawfinder level-4 hit */
}
Lorsque flawfinder est exécuté sur ce répertoire, la sortie attendue suivante est produite :

Maintenant, si j'inclus le fichier suivant avec le nom de fichier malveillant :

Réexécuter flawfinder produit cette sortie :

Ce nom de fichier malveillant masque la sortie pour chaque fichier analysé par flawfinder et prétend faussement qu'ils ne présentent aucun résultat.
De plus, exécuter flawfinder avec l'option --csv produirait les mêmes résultats, et enregistrer la sortie dans un fichier "*.csv" cacherait les vrais résultats à l'utilisateur final.