Mp3blaster es un reproductor de mp3 terminal que ejecuta un sistema operativo similar a UNIX, por ejemplo. Linux, Free / Net / OpenBSD, etc. Generalmente uso este reproductor para reproducir mi música, pero ayer encontré un blog que dice que hay un día explotable.
1) La vulnerabilidad se encuentra en el archivo main.cc. Este es el código:
vacío
advertencia (const char * txt, ...)
{
va_list ap;
char buf [1025];
mw_clear ();
mover (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 función vsnprintf () usa el parámetro como cadena de formato txt. warning () se llama desde fw_convmp3 (), una función que se invoca cuando el usuario desea convertir un archivo WAV a formato MP3:
vacío
fw_convmp3 (const char * tmp, void * args)
{
char ** selitems;
...
...
if (! (decoder = nuevo Mpegfileplayer (Fileplayer :: AUDIODRV_OSS)) ||
! decoder > openfile (archivo,
file2write, WAV) || ! decoder > initialize (NULL))
{
sprintf (bla, "Falló la decodificación de% s.", selitems [i]);
advertencia (bla);
selItems [i] contiene el nombre del archivo que el usuario desea convertir. El error se puede reproducir de la siguiente manera: se crea un archivo llamado "% n.mp3" en blanco, y se presiona F1 dentro de mp3blaster para seleccionarlo, luego presione F6 para invocar la función de conversión, el programa solicitará un directorio WAV para guarde el archivo convertido, presione ENTER et voilà!
2) Ejemplos
Figura1:seseleccionóelarchivoqueexplotaelerror
Figura 3: explotando el error
Así que mi pregunta es:
¿Cómo puede afectar esta vulnerabilidad a mi sistema operativo?
Por ejemplo:
Si descargo mp3 gratis desde cualquier sitio legal y alguna canción se modifica como en el ejemplo anterior, es posible cargar keylogger o troyano en mi sistema operativo ?
Fuente de información: blog de elladodelmal