¿La conexión a un enrutador WiFi abierto con DHCP en Linux es susceptible a Shellshock?

9

Fuente: enlace

  

Por la misma razón, los clientes DHCP que invocan scripts de configuración y utilizan variables para transmitir detalles de configuración están en riesgo cuando se exponen a servidores no autorizados (por ejemplo, en wifi abierto).

Me pregunto si Linux dhclient es vulnerable a los detalles de configuración pasados desde el enrutador.

Si es así, muchas plataformas de Linux de escritorio deben parchearse lo antes posible. También interesado en la configuración DHCP realizada en Android.

    
pregunta Deer Hunter 25.09.2014 - 11:38
fuente

2 respuestas

8

Sí.

El script de shell de configuración de red dhclient-script se ejecuta durante el proceso DHCP y se le pasan varios parámetros del servidor (como domain-name ) en las variables de entorno. El script está configurado para ser interpretado por /bin/sh , por lo que si su sistema tiene un enlace simbólico a /bin/bash (lo cual es bastante común), usted es vulnerable.

Además, en Debian (y posiblemente muchas de sus miles de descendientes como Ubuntu), que usa guión como / bin / sh, dhclient-script está explícitamente cambiado a / bin / bash, y parece contener un bashismo , también.

    
respondido por el Mark 25.09.2014 - 12:00
fuente
3

Tanto dhclient como dhcpcd llaman a los scripts de configuración que invocan un shell del sistema, por lo que son vulnerables.

Sin embargo , según mis pruebas, parece que puedes ejecutar al menos dhcpcd con éxito sin la secuencia de comandos de configuración (si cambias el nombre / mueves la secuencia de comandos):

$ pkill dhcpcd
$ ping -c 1 www.google.com
ping: unknown host www.google.com

$ mv /usr/lib/dhcpcd/dhcpcd-run-hooks /usr/lib/dhcpcd/dhcpcd-run-hooks-disabled
$ dhcpcd
dhcpcd[29057]: version 6.4.3 starting
dhcpcd[29057]: script_runreason: /usr/lib/dhcpcd/dhcpcd-run-hooks: WEXITSTATUS 127
(...)
dhcpcd[29057]: forked to background, child pid 29069

$ ping -c 1 www.google.com
PING www.google.com (74.125.232.240) 56(84) bytes of data.
64 bytes from arn06s07-in-f16.1e100.net (74.125.232.240): icmp_seq=1 ttl=54 time=16.4 ms
(...)

Como puede ver, hay una advertencia, pero al final se establece la conexión.

Probablemente habrá algunas cosas (por ejemplo, un dominio) que no están configuradas correctamente, por lo que esta es una solución pirata. No he probado esto en una red WiFi, podría fallar allí.

Editar: basado en strings /usr/bin/dhcpcd parece que la ruta del script está codificada.

    
respondido por el semi-extrinsic 26.09.2014 - 13:35
fuente

Lea otras preguntas en las etiquetas