Salto de restricciones e inyección de comandos en router WNDR3700v4 de Netgear

En una serie de dos artículos, el investigador Zack Cutlip (@zcutlip)

ha localizado varias vulnerabilidades en la versión 4 del router
inalámbrico WNDR3700 de Netgear. Estas, entre otros impactos,
permitirían acceder a la interfaz de administración sin necesidad
de autenticación y la inyección de comandos al sistema operativo del
dispositivo. Están confirmadas en las versiones 1.0.1.42 y 1.0.1.32
del firmware.

Cutlip desgrana, a través del estudio del manejo de las peticiones, las
diferentes vulnerabilidades descubiertas. Cuando se pide un recurso al
router, se comprueba que su nombre coincida con el patrón asociado a uno
de los manejadores MIME. Esto se hace buscando el patrón como subcadena
del recurso. Si se encuentra, se le aplica su manejador de autenticación
asociado.

Poniendo como ejemplo el mismo que se utiliza en el articulo, una
de las entradas en la tabla de patrones MIME es “BRS_”. La función
de autenticación para estos recursos es un puntero nulo. Por tanto,
cualquier recurso que contenga la cadena “BRS_” no necesita
autenticación. Son muchas las páginas que cumplen esta condición en
la interfaz. Como ejemplo, la que muestra la contraseña de la conexión
WPA del dispositivo.

Otras páginas permiten el salto de las restricciones de autenticación
con el mismo método. Para controlar qué páginas requieren autenticación,
comprueban que el patrón (que no es más que el nombre de la página), sea
subcadena *de la petición*, y no comparan con el nombre de recurso en
si. Esto se permite que se sirvan páginas restringidas si la petición
contiene el nombre de una de las páginas que no lo están. Por ejemplo,
en una petición como http://router/pagina_protegida.htm?foo=unauth.cgi
se podría acceder a la página protegida, ya que unauth.cgi, que salta
las restricciones, se encuentra como subcadena.

Como colofón, Cutlip termina con un salto de restricciones persistente.
En este dispositivo, el valor de la variable hijack_process controla si
se debe aplicar la autenticación en todas las páginas de la interfaz.
Esta funcionalidad se aplica durante el primer inicio del router. En
vez de usar una contraseña por defecto, directamente se deshabilita
la autenticación hasta que esté configurado. Cuando se configura,
hijack_process toma el valor 3, con el que indica que la autenticación
debe aplicarse.

Sin embargo, existe una página pública de la interfaz del dispositivo
(BRS_02_genieHelp.html) que da a hijack_process un valor distinto de 3,
con lo que una sola petición a esa página permitiría desactivar la
autenticación en todo el dispositivo. Como la variable se guarda en RAM
no volátil, este estado permanece aunque el dispositivo se reinicie.

Además, también se ha encontrado una vulnerabilidad que permite la
inyección de comandos al sistema operativo subyacente del router a
través de la página de ping a direcciones IPv6. El comando con la
dirección dada por el usuario se le pasa a la función system, que llama
a /bin/sh. Por tanto, si pasamos en lugar de la IP una cadena de la
forma “; comando;”, la ejecución del ping falla, pero podemos inyectar
código. Ya se ha publicado una prueba de concepto que abre una conexión
telnet y permite el acceso como administrador sin autenticación.

Las vulnerabilidades se han probado en la versión 4 del modelo WNDR3700
de Netgear, con los firmwares 1.0.1.42 y 1.0.1.32, y en el 4700.
El autor acredita a Jacob Holocomb (que encontró la esta misma
vulnerabilidad en el modelo WNDR4700) y Craig Young, que hizo este
descubrimientos el pasado abril pero no lo publicó
(https://twitter.com/zcutlip/status/393752865187328000).

Según el portal The Register, Netgear ha prometido un parche que
solucione la vulnerabilidad en el plazo de un mes, aunque apunta que
solo es explotable si el atacante se encuentra en la misma red que el
dispositivo.
__________

NOTA: Los interesados en información sobre contrato de soporte Asistencia Tecnica de SATINFO y/o licencia de uso/actualizaciones de sus utilidades, contacten con
info@satinfo.es
__________

Este blog no se hace responsable de las opiniones y comentarios de los textos en los que se cita la Fuente, ofreciendo su contenido solo para facilitar el acceso a la información del mismo.

Puedes seguir cualquier respuesta a esta entrada mediante el canal RSS 2.0. Los comentarios y los pings están cerrados.

Los comentarios están cerrados.

 

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies