
Exploit proof-of-concept che dimostra l'iniezione di sequenze di escape ANSI in Flawfinder 2.0.19 tramite nomi di file malevoli, con walkthrough e dettagli sulla mitigazione.
Nella versione 2.0.19 di Flawfinder, non avviene alcuna sanificazione del nome del file durante l'analisi di nomi di file potenzialmente dannosi. I terminali noti come affetti sono basati su libvte, e l'esempio seguente mostra un mate-terminal.
Questo exploit è stato successivamente corretto nella versione 2.0.20 a partire dal 5/17/26 da David Wheeler e me.
In questo repository è incluso uno script bash di esempio POC e alcune informazioni su come funziona l'exploit.
In una directory di esempio, includi quanti file desideri, come mostrato qui sotto:

Entrambi i file contengono lo stesso codice C:
#include <string.h>
void f(char *s) {
char buf[8];
strcpy(buf, s); /* genuine flawfinder level-4 hit */
}
Quando flawfinder viene eseguito su questa directory, viene prodotto il seguente output atteso:

Ora, se includo il seguente file con il nome di file malevolo:

Rieseguendo flawfinder si produce questo output:

Questo nome di file malevolo nasconde l'output per ogni file scansionato da flawfinder e dichiara falsamente che non ci sono risultati.
Inoltre, eseguire flawfinder con l'opzione --csv produrrebbe gli stessi risultati, e salvare l'output in un file "*.csv" nasconderebbe i veri risultati all'utente finale.