Ethankim88

#5497من 60,391
56إجمالي CVSS
الثغرات · 7
عالية
7
PT-2026-26090
2026-03-18
8.2
CVE-2026-32763
Kysely
Kysely
يحتوي Kysely، وهو أداة إنشاء استعلامات SQL مكتوبة بلغة TypeScript تتميز بالأمان النوعي، على ثغرة حقن SQL في عملية تجميع مسارات JSON الخاصة بلهجات MySQL وSQLite. تقوم الدالة `visitJSONPathLeg()` بإلحاق القيم التي يتحكم فيها المستخدم من `.key()` و`.at()` مباشرةً إلى سلاسل مسارات JSON المكتوبة بين علامتي اقتباس مفردة دون إخراجهما من العلامات. وهذا يسمح للمهاجم بالخروج من سياق سلسلة مسار JSON وحقن تعليمات SQL تعسفية. ويختلف هذا السلوك عن الدالة `sanitizeIdentifier()`، التي تتعامل بشكل صحيح مع الفواصل الخاصة بالمعرفات. تنشأ المشكلة لأن كلًا من المعرفات ومفاتيح مسار JSON هي بنى SQL غير قابلة للتعيين كمعلمات وتتطلب الهروب اليدوي، ولكن المعرفات فقط هي المحمية. لا يتأثر PostgreSQL لأنه يستخدم نهجًا مختلفًا لبناء مسار JSON يتضمن تطهيرًا صحيحًا لسلسلة النص الثابتة. يثبت نموذج إثبات المفهوم القدرة على استخراج البيانات، مثل كلمة مرور المسؤول، من قاعدة بيانات SQLite باستخدام اسم مفتاح JSON مصمم خصيصًا. يمكن استغلال هذه المشكلة في التطبيقات التي تختار حقول JSON ديناميكيًا، مثل واجهات برمجة التطبيقات (API) الخاصة بالبحث أو لوحات التحكم الإدارية.