TECNO-MODEXTREME

jueves, diciembre 08, 2005

Primera caída de Firefox 1.5

Se abrió la veda del "panda rojo". Pocos días después de su presentación, un certero ataque ha provocado el primer tropezón serio de nuestro navegador favorito.
El ataque consiste en insertar en una página web un sencillito javascript que provoca un crecimiento desmesurado del fichero history.dat (el archivo donde Firefox guarda el historial de páginas visitadas). Al volver a arrancar Firefox observaremos con sorpresa que se queda colgado. La situación se repetirá cada vez que tratemos de arrancar Firefox sin borrar el fichero afectado.

He resistido la tentación de incluir una demo operativa en Kriptópolis, porque reparar el daño puede llevar un rato (no mucho: lo que se tarda en localizar y borrar el fichero de historial), pero sí he comprobado que funciona en Windows XP SP2. La demostración resulta muy sencilla, y quien esté interesado en comprobar su efectividad no tiene más que salvar el código con la extensión html y abrir el fichero en su navegador, aunque -para ganar tiempo en la fase de reparación- le aconsejaría que tuviera localizado el fichero que se va a dañar antes de hacerlo...

ACTUALIZACIÓN (9:15 am):
- También están afectadas versiones anteriores y también en Linux (acabo de comprobarlo con Firefox 1.0.4 en Fedora Core 4).
- A falta de parche, una solución temporal consiste en modificar en las preferencias de Firefox el número de días que abarca el historial -> Escribir 0 (cero) y Firefox ya no caerá.

Mucha gente no considera que atacar a un navegador mediante javascript sea realmente un ataque, ya que es posible escribir scripts que tumben a cualquier navegador. Sin embargo aquí hablamos de un método de fácil explotación y de efectos persistentes. Es decir, Firefox queda fuera de juego hasta que se borra el fichero en cuestión, operación que no está al alcance de cualquier usuario no informado.
Como consecuencia, desde páginas web puede dejarse Firefox inoperativo para cualquier usuario, y eso sí que parece un asunto grave a resolver. Por si esto fuera poco, el creador del script también afirma que no costaría demasiado ejecutar código en la máquina víctima.