12 de junio de 2010

Vulnerabilidad en Microsoft Windows XP y Windows Server 2003

Tavis Ormandy ha publicado, en la lista de Full Disclosure, los detalles y prueba de concepto de una vulnerabilidad sin parche que permite ejecutar comandos arbitrarios a través de una URL.

  • El fallo descubierto se halla en Microsoft Windows Help Centre, la aplicación para acceder a la documentación de ayuda.
  • Dicha aplicación registra un manejador de protocolo con el esquema "hcp://" para acceder a la documentación a través de URLs.
  • Cuando se accede a través de una URL a la documentación, el manejador del nombrado esquema "hcp", añade el parámetro de línea de comandos "/fromhcp" para indicarle a la aplicación del centro de ayuda que el recurso ha sido solicitado desde una URL; restringiendo el uso de parámetros y permitiendo sólo un conjunto de documentos que se encuentran en una lista blanca.
  • Ormandy ha encontrado un método para evadir esta lista blanca, basado en un error en la implementación de la función que comprueba las URL.
  • El fallo reside en la función "MPC::HTML::UrlUnescapeW", usada para la normalización y filtrado de la URL antes de ser validada. Dicha función usa a su vez la función "MPC::HexToNum" para convertir los caracteres escapados (p.ej %20 al valor de espacio en blanco) a su correspondiente valor numérico.
  • Son vulnerables los sistemas Windows XP y Windows Server 2003.
  • Mike Reavey, director del MSRC de Microsoft ha publicado una respuesta en el blog del MSRC, en la que ofrece una contramedida y explica el poco tiempo que el investigador les ha otorgado, para solucionar el fallo, antes de hacer públicos los detalles.
Fuente: Hispasec