ثغرات أمنية في واجهة الويب الخاصة بأجهزة شبكة Juniper المزودة بنظام التشغيل JunOS

تم التعرف على عدة ثغرات في واجهة الويب J-Web المستخدمة في أجهزة شبكة Juniper المزودة بنظام التشغيل JunOS، وأخطرها (CVE-2022-22241) الذي يسمح لك بتنفيذ التعليمات البرمجية الخاصة بك في النظام عن بعد دون المصادقة عن طريق إرسال طلب HTTP مصمم خصيصًا. يُنصح مستخدمو معدات Juniper بتثبيت تحديثات البرامج الثابتة، وإذا لم يكن ذلك ممكنًا، فتأكد من حظر الوصول إلى واجهة الويب من الشبكات الخارجية وقصره على المضيفين الموثوق بهم فقط.

جوهر الثغرة الأمنية هو أن مسار الملف الذي مرره المستخدم تتم معالجته في البرنامج النصي /jsdm/ajax/logging_browse.php دون تصفية البادئة بنوع المحتوى في المرحلة قبل التحقق من المصادقة. يمكن للمهاجم إرسال ملف phar ضار تحت ستار صورة وتنفيذ كود PHP الموجود في أرشيف phar باستخدام طريقة الهجوم "إلغاء تسلسل Phar" (على سبيل المثال، تحديد "filepath=phar:/path/pharfile.jpg" "" في الطلب)."

المشكلة هي أنه عند التحقق من ملف تم تحميله باستخدام وظيفة PHP is_dir()، تقوم هذه الوظيفة تلقائيًا بإلغاء تسلسل البيانات الوصفية من أرشيف Phar عند معالجة المسارات التي تبدأ بـ "phar://". يتم ملاحظة تأثير مماثل عند معالجة مسارات الملفات التي يوفرها المستخدم في وظائف file_get_contents() و fopen() و file() و file_exists() و md5_file() و filemtime() و png().

الهجوم معقد بسبب حقيقة أنه بالإضافة إلى بدء تنفيذ أرشيف phar، يجب على المهاجم إيجاد طريقة لتنزيله على الجهاز (من خلال الوصول إلى /jsdm/ajax/logging_browse.php، يمكنك فقط تحديد المسار إلى تنفيذ ملف موجود بالفعل). تتضمن السيناريوهات المحتملة لوصول الملفات إلى الجهاز تنزيل ملف phar متخفيًا كصورة من خلال خدمة نقل الصور واستبدال الملف في ذاكرة التخزين المؤقت لمحتوى الويب.

نقاط الضعف الأخرى:

  • CVE-2022-22242 - استبدال المعلمات الخارجية غير المصفاة في مخرجات البرنامج النصي error.php، والذي يسمح بالبرمجة النصية عبر المواقع وتنفيذ تعليمات برمجية JavaScript عشوائية في متصفح المستخدم عند اتباع رابط (على سبيل المثال، "https://" JUNOS_IP/error.php?SERVER_NAME= alert(0) " يمكن استخدام الثغرة الأمنية لاعتراض معلمات جلسة المسؤول إذا تمكن المهاجمون من جعل المسؤول يفتح رابطًا مصممًا خصيصًا.
  • تتيح استبدال تعبيرات CVE-2022-22243 وCVE-2022-22244 XPATH عبر البرامج النصية jsdm/ajax/wizards/setup/setup.php و/modules/monitor/interfaces/interface.php لمستخدم مصادق لا يتمتع بأي امتيازات التعامل مع جلسات الإدارة.
  • CVE-2022-22245 عدم وجود تحسين مناسب لتسلسل ".." في المسارات التي تتم معالجتها في البرنامج النصي Upload.php يسمح للمستخدم المعتمد بتحميل ملف PHP الخاص به إلى دليل يسمح بتنفيذ البرامج النصية PHP (على سبيل المثال، عن طريق تمرير المسار "fileName=\. .\..\..\..\www\dir\new\shell.php").
  • CVE-2022-22246 - إمكانية تنفيذ ملف PHP محلي عشوائيًا من خلال معالجة البرنامج النصي jrest.php بواسطة مستخدم معتمد، حيث يتم استخدام المعلمات الخارجية لتشكيل اسم الملف الذي تم تحميله بواسطة الوظيفة "require_once()" (لـ على سبيل المثال، "/jrest.php?payload =alol/lol/any\..\..\..\..\any\file")

المصدر: opennet.ru

إضافة تعليق