Mp3blaster è un lettore mp3 terminale che esegue un sistema operativo simile a UNIX, ad es. Linux, Free / Net / OpenBSD, ecc. Di solito uso questo lettore per suonare la mia musica, ma ieri ho trovato un blog che afferma che esiste uno 0day sfruttabile.
1) La vulnerabilità si trova nel file main.cc. Questo è il codice:
vuoto
avviso (const char * txt, ...)
{
va_list ap;
char buf [1025];
mw_clear ();
move (LINES2,1);
attrset (COLOR_PAIR (CP_ERROR) | A_BOLD);
va_start (ap, txt);
vsnprintf (buf, 1024, txt, ap);
va_end (ap);
addnstr (buf, (COLS > 14? COLS 14: 1));
attrset (COLOR_PAIR (CP_DEFAULT) | A_NORMAL);
refresh ();
}
La funzione vsnprintf () usa il parametro come stringa di formato txt. warning () è chiamato da fw_convmp3 (), una funzione che viene invocata quando l'utente vuole convertire un file WAV in formato MP3:
vuoto
fw_convmp3 (const char * tmp, void * args)
{
char ** selitems;
...
...
if (! (decoder = new Mpegfileplayer (Fileplayer :: AUDIODRV_OSS)) ||
! Decoder > openfile (file,
file2write, WAV) || ! Decoder > inizializzazione (NULL))
{
sprintf (bla, "Decodifica di% s fallita.", selitems [i]);
warning (bla);
selItems [i] contiene il nome del file che l'utente desidera convertire. Il bug può essere riprodotto come segue: viene creato un file chiamato "% n.mp3" vuoto, e F1 viene premuto all'interno di mp3blaster per selezionarlo, quindi premere F6 per richiamare la funzione di conversione, il programma si applicherà per una directory WAV a salva il file convertito, premi ENTER et voilà!
2) Esempi
Figura1:ilfilechesfruttailbugèstatoselezionato
Figura 3: sfruttamento del bug
Quindi la mia domanda è:
In che modo questa vulnerabilità può influire sul mio sistema operativo?
Ad esempio:
Se scarico mp3 gratis da qualsiasi sito legale e alcuni brani vengono modificati come nell'esempio precedente, è possibile caricare keylogger o trojan nel mio sistema operativo ?
Fonte di informazioni: blog elladodelmal