
إثبات المفهوم والتحليل الفني لثغرة XSS المنعكسة (CVE-2025-66850) في وحدة التوجيه LibreNMS، مما يؤثر على الإصدارات من 22.9.0 إلى 24.9.1.
داخل تطبيق 'LibreNMS'، اكتشفنا ثغرة من نوع Cross-Site Scripting المنعكسة؛ توجد هذه الثغرة في معامل البروتوكول لوحدة التوجيه، مما يسمح للمهاجم بتنفيذ JavaScript ضار في متصفح الضحية. تؤثر هذه الثغرة على جميع الإصدارات من 22.9.0 (سبتمبر 2022) إلى 24.9.1 (سبتمبر 2024). تم تصحيح هذه الثغرة بصمت في الإصدار 24.10.0 (نوفمبر 2024) دون إصدار CVE لاحق أو إفصاح عام. يعني هذا الإصلاح غير الموثق أن العديد من المؤسسات قد لا تكون على دراية بتعرضها ولم تقم بعد بتطبيق التحديثات اللازمة. يمكنك رؤية الإعداد الحالي المستخدم لاختبار هذه الثغرة في الشكل أدناه:

تسمح ثغرة Cross-Site Scripting المنعكسة للمهاجمين عن بُعد بحقن كود JavaScript عشوائي في متصفحات مستخدمي LibreNMS المُصادق عليهم من خلال عناوين URL مصممة خصيصًا – مما قد يسمح لهم بسرقة ملفات تعريف الارتباط للجلسة، أو إنشاء باب خلفي إداري، أو إعادة توجيه المستخدمين إلى نطاقات يتحكم فيها المهاجم. يمكن رؤية دليل XSS في الصورة أدناه:

ينجم الخلل الأمني عن عدم كفاية التحقق من صحة الإدخال في معامل 'protocol' لنقطة النهاية '/routing'. يطبق التطبيق تطهيرًا أساسيًا من خلال خاصية 'basename()'، مما يمنع التنقل بين الدلائل ولكنه يفشل في إجراء ترميز كيانات HTML قبل عكس الإدخال على الصفحة – مما يسمح للمهاجمين بتجاوز عناصر التحكم الأمنية الأساسية وحقن كود ضار.
المنتج: LibreNMS
الإصدارات المتأثرة: <= 24.9.1
الإصدار المُصحح: 24.10.0 (5 نوفمبر 2024)
نوع الثغرة: CWE-79 (تحييد غير صحيح للإدخال أثناء إنشاء صفحة الويب)
الوحدة: Routing
نقطة النهاية: /routing
المعامل: protocol
الملف: includes/html/pages/routing.inc.php
قم بإعداد LibreNMS 24.9.1
انتقل إلى نقطة النهاية '/routing/protocol='
حقن الحمولة من PoC في القسم أدناه
http://[librenms-instance]/routing/protocol=<script>alert(‘SecQuest XSS’)<!-->
اكتشف بواسطة: Joel Olivier, Leo Cook
المنظمة: SecQuest
تاريخ الاكتشاف: 18 نوفمبر 2025