El día de ayer apareción en ArsTechnica un artículo en el que descibian la mecánica de funcionamiento de un nuevo bug descubierto en Windows 7 y Windows 8.1, que cuelga a una computadora que corre dicho sistema operativo y produce una BSOD (Blue Screen Of Death).
La fuente citada por ArsTechnia es un portal de temas informáticos rusos que refiere a una firma de productos de seguridad rusa llamada Aladdin R.D. como la que descubrió el error.
Este nuevo error, que afortunadamente no parece afectar a Windows 10, utiliza un nombre de archivo especial del sistema operativo $MFT. El $MFT es el nombre dado a uno de los archivos de metadatos que son utilizados por el sistema de archivos NTFS de Windows. El archivo existe en el directorio raíz de cada volumen NTFS, pero el controlador NTFS lo maneja de manera especial y está oculto de la vista e inaccesible para la mayoría de los programas. Los intentos de abrir dicho archivo normalmente están bloqueados, pero si el nombre de archivo se usa como si fuera un nombre de directorio, por ejemplo c:\$MFT\123 entonces el controlador NTFS impone un bloqueo al archivo y nunca lo libera. Cada operación subsecuente que intente usar el archivo $MFT tendrá que esperar a que el bloqueo se libere, pero esto nunca ocurre. Esto bloquea a todos y cada uno de los demás intentos de acceso al sistema de archivos, por lo que cada programa que necesite acceso a disco comenzará a colgarse, haciendo que la máquina sea inutilizable hasta que se reinicie.
Este tipo de ataque puede ser explotado remotamente si una página web usa el nombre de archivo incorrecto en, por ejemplo, la ruta para acceder a una imagen, lo cual provocará el error y hara que la máquina deje de responder. Dependiendo de lo que la máquina está haciendo simultáneamente, a veces puede producir una BSOD inmediatamente. De cualquier manera, necesitará reiniciar la computadora para poder continuar usandola. Algunos navegadores bloquearán los intentos de acceso a estos recursos locales, pero lamentablemente Internet Explorer no lo hace e intenta acceder al archivo con nombre no válido.
Se sabe que el error no ocurre de forma remota (por ejemplo, enviando a IIS una solicitud de un nombre de archivo incorrecto), pero no nos sorprendería si en ciertas configuraciones o con una estratégia más sofisticada este problema pudiera ocurrir en servidores también.
Microsoft ha sido informado del problem, pero hasta el momento de la publicación no ha publicado ningún parche para este bug.