Se ha publicado un código que aprovecha una vulnerabilidad que permite, en remoto, hacer que Microsoft Windows deje de responder. Para que el fallo tenga efecto, el atacante debe establecer una sesión nula con el sistema objetivo, lo que mitiga en cierta forma la gravedad del problema.

El día 25 de diciembre se publicó un código que aprovecha un fallo en el servicio "estación de trabajo" en la forma en la que maneja peticiones RPC NetrWkstaUserEnum con un valor grande en el campo maxlen. Si el atacante tiene acceso a este servicio y envía peticionesespecialmente manipuladas, el servicio svchost.exe consumiría toda la memoria disponible y el sistema dejaría de responder. El problema se ha confirmado en Windows 2000 y Windows XP SP2 totalmente parcheados, aunque otros podrían verse afectados.

Debido a las condiciones de este fallo, es mucho más factible que los ataques se lleven a cabo desde sistemas dentro de una misma red interna.

La misma persona que ha revelado el código (un/a polaco/a que se hace llamar h07) hizo también público otro exploit a principios de diciembre. El código permitía provocar una denegación de servicio a través de una reserva de memoria incorrecta en función GetPrinterData. Para poder aprovechar el fallo, un atacante debería tener acceso al puerto 445, usado para manejar el protocolo NetBIOS.

Al contrario que el primero descrito, este código no representaba una vulnerabilidad desconocida, sino que suponía una nueva forma de atacar un fallo inherente a la implementación RPC en Windows, conocido desde finales de 2005. Ya se sabía que este fallo era aprovechable a través de la función PNP_GetDeviceList del servicio UPNP (Universal plug and play).

Para ninguno de estos problemas existe parche oficial. Se recomienda filtrar el acceso a los servicios vulnerables.


Más información:

RPC Memory Exhaustion
eEye Digital Security - Research

MS Windows Workstation Service NetrWkstaUserEnum() 0day Memory
Allocation Remote DoS Exploit
MS Windows spoolss GetPrinterData() Remote DoS Exploit (0day)
Fuente