Tavis Ormandy, miembro de Google Project Zero, ha encontrado un fallo en Windows Defender que permite a cualquier atacante eludir la herramienta antivirus de Microsoft. El error se hizo público el pasado viernes después de que la compañía lanzase una nueva actualización que ponía fin a esta vulnerabilidad, de la que fue informada el pasado 9 de junio. Una táctica habitual: anunciar la solución después de haber arreglado el problema.
Este nuevo error en Windows Defender se encuentra en el emulador X86 después de que Ormandy lo detectase mientras realizaba una serie de pruebas para comprobar su fiabilidad.
Encontró un exploit que permitía leer y escribir datos arbitrarios en la memoria del objeto MutableByteStream. Concretamente la instrucción "apicall" puede invocar a que las API internas del emulador sean ejecutadas con privilegios del sistema, quedando expuestas a ataques en remoto por defecto. El problema reside en el API KERNEL32.DLL!VFS_Write.
El emulador x86 se ejecuta como SYSTEM y viene activado por defecto en la zona de pruebas, siendo accesible a los atacantes de forma remota. "Sospecho que el objeto MutableByteStream está dañado con un establecimiento de memoria sin marcar. He visto varios stracktraces diferentes incluyendo 'Wild EIP' ", escribe en este post.
Una vez localizada la vulnerabilidad de Windows Defender, estuvo trabajando en un caso de prueba para explotar el bug con una tasa reducidad de error:
"La primera llamada se extiende a la longitud del archivo nOffset porque el parámetro numberOfBytes es 0 y no se le asigna ningún espacio. A continuación, puede leer y escribir datos arbitrarios a un desplazamiento a la memoria intermediaria de objetos MutableByteStream", continúa Ormandy.
Para hacer frente a este nuevo fallo en Defender, Microsoft ha publicado la versión 1.1.13903.0.