PT-2025-53805
CVE-2025-15284
·
تاريخ النشر
2025-01-01
·
تاريخ التحديث
2026-10-01
الوصف من
CVSS 2.0
7.8
عاليةالمقاييسAV:N/AC:L/Au:N/C:N/I:N/A:C
اسم البرنامج المعرض للخطر والإصدارات المتأثرة
إصدارات qs الأقدم من 6.14.1
الوصف
يوجد عيب في مكتبة qs (وحدات تحليل) حيث لا تطبق الخيار
arrayLimit الحدود بشكل صحيح عند استخدام صيغة الأقواس المربعة في سلاسل الاستعلام، مما يؤدي إلى احتمال حدوث هجوم رفض الخدمة (DoS) عبر HTTP. تقوم الخيار arrayLimit بالتحقق من صحة الترميز المفهرس فقط (مثل: a[0]=1)، لكنها تتجاهل التحقق من صحة الترميز باستخدام الأقواس المربعة (مثل: a[]=1). وهذا يسمح للمهاجمين باستنزاف ذاكرة الخادم عن طريق إرسال طلبات تحتوي على عدد كبير من عناصر المصفوفة باستخدام الترميز بالأقواس المربعة. يوجد الكود المعرض للثغرة في lib/parse.js، الأسطر 159-162، حيث يتم استخدام utils.combine([], leaf) دون التحقق من arrayLimit. يمكن للمهاجم استغلال هذه الثغرة عن طريق إرسال طلب HTTP مُعدَّل إلى نقطة نهاية API مثل /api/search مع سلسلة استعلام تحتوي على العديد من المعلمات باستخدام صيغة الأقواس، مثل filters[]=x&filters[]=x&...&filters[]=x. ثم تقوم التطبيق بتحليل سلسلة الاستعلام هذه باستخدام qs.parse() مع تحديد arrayLimit، لكن المكتبة تفشل في تطبيق الحد، مما يؤدي إلى استهلاك مفرط للذاكرة. المعلمة المعرضة للثغرة هي سلسلة الاستعلام نفسها، وتحديدًا القيم المرتبطة بمعلمات المصفوفة مثل filters.التوصيات
قم بتحديث qs إلى الإصدار 6.14.1 أو أحدث.
قابلية الاستغلال
استغلال
إصلاح
التأثيرات
الباحثون
المورّدون
المنتجات المتأثرة
وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾