
CVE 2021-21315 إثبات المفهوم
هذا هو إثبات المفهوم لـ CVE-2021-21315 الذي يؤثر على مكتبة معلومات النظام لـ Node.JS (حزمة npm "systeminformation"). npmjs.com/systeminformation
"تأكد من فحص أو تعقيم معاملات الخدمة التي يتم تمريرها إلى si.inetLatency(), si.inetChecksite(), si.services(), si.processLoad() ... اسمح بالسلاسل النصية فقط، وارفض أي مصفوفات. تعقيم السلاسل النصية يعمل كما هو متوقع."
نظرًا لأن الثغرة غير موضحة جيدًا (في رأيي)، قررت برمجة تطبيق صغير يعتمد على إصدار ضعيف من systeminformation. يحتوي إثبات المفهوم على:
خطوات إعادة الإنتاج:


سيفشل هذا بسبب تعقيم السلاسل النصية:

كما ورد في تفاصيل CVE "تعقيم السلاسل يعمل كما هو متوقع، ارفض أي مصفوفات [...]"
هذه المرة، إذا ألقيت نظرة على قيمة "name"، لم تكن معقمة - نجاح! دعنا نرى ما إذا كان الأمر قد نُفذ
نجاح! تم تنفيذ أمرنا. بالطبع لا أحد يهتم بـ "pwn.txt"، لكن المهاجم المحتمل يمكنه:
"حقن الأوامر" قد يبدو بريئًا، لكنه قد يكون له تأثير هائل إذا تحققت شروط معينة
تم إصلاح المشكلة في الإصدار 5.3.1 من "systeminformation" الفضل يعود إلى https://www.huntr.dev/users/EffectRenan (لقد وجد الثغرة، لكن في رأيي، لم يُظهر "إثبات المفهوم" الخاص به تأثيرًا حقيقيًا في العالم الواقعي)
أيضًا، لا تتردد في استخدام إثبات المفهوم هذا في بعض مسابقات CTF، لكن سيكون رائعًا إذا قمت بنسب الفضل لمكتشف الثغرة - EffectRean ومنشئ إثبات المفهوم - أنا، تحياتي!
يمكن استخدام هذا المشروع للأغراض التعليمية فقط. استخدام هذا البرنامج ضد الأنظمة المستهدفة دون إذن مسبق غير قانوني، ولن يتحمل المؤلف أي أضرار ناتجة عن إساءة استخدام هذا البرنامج.