PT-2026-80857
CVE-2026-76848
·
تاريخ النشر
2026-08-24
·
تاريخ التحديث
2026-08-24
الوصف من
CVSS 4.0
8.7
عاليةالمقاييسAV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
اسم البرنامج المعرض للخطر والإصدارات المتأثرة
إصدارات TypeORM من 0.2.21 إلى 1.1.0
الوصف
تقبل دالة
SelectQueryBuilder.distinctOn في TypeORM مصفوفة من السلاسل وتخزنها في خريطة التعبيرات دون التحقق من صحتها. بالنسبة لمحركات عائلة PostgreSQL، تقوم الدالة createSelectDistinctExpression() الموجودة في src/query-builder/SelectQueryBuilder.ts بدمج هذه المصفوفة وإدراج النتيجة في العبارة التي تم إنشاؤها على النحو التالي: SELECT DISTINCT ON (values). تحدث هذه العملية دون استخدام أحرف الهروب أو علامات الاقتباس أو التحقق من صحة المعرفات أو قائمة المسموح بها، كما أنها تتجاوز أداة مساعدة الهروب الخاصة بالمحرك ووظيفة replacePropertyNames. نظرًا لأن نقطة الإدراج هي قائمة تعبيرات SQL محاطة بأقواس، يمكن للمهاجم تقديم تعبيرات عشوائية، بما في ذلك الاستعلامات الفرعية المترابطة. إذا قام تطبيق ما بتمرير قيم يتحكم فيها العميل إلى distinctOn، فإنه يسمح للعميل بقراءة البيانات التي يمكن لدور قاعدة بيانات التطبيق الوصول إليها من خلال الاستدلال المنطقي أو القائم على الوقت، بغض النظر عن الكيان الذي يتم الاستعلام عنه. هذا المسار غير محمي بفحص قائمة السماح validateOrderByCondition الذي تستخدمه عائلة orderBy.التوصيات
قم بتحديث TypeORM إلى إصدار أحدث من 1.1.0.
كحل مؤقت، تجنب تمرير قيم يتحكم فيها العميل إلى طريقة
distinctOn في SelectQueryBuilder.قابلية الاستغلال
استغلال
إصلاح
التأثيرات
المورّدون
المنتجات المتأثرة
وجدت خطأً في الوصف؟ لديك ما تضيفه؟ لا تتردد في مراسلتنا 👾