DataEase is an open-source data visualization and analytics platform. Versions 2.10.20 and below contain a SQL injection vulnerability in the sort parameter of the /de2api/datasetData/enumValueObj endpoint. The DatasetDataManage service layer directly transfers the user-supplied sort value to the sorting metadata DTO, which is passed to Order2SQLObj where it is incorporated into the SQL ORDER BY clause without any whitelist validation, and then executed via CalciteProvider. An authenticated attacker can inject arbitrary SQL commands through the sort parameter, enabling time-based blind SQL injection. This issue has been fixed in version 2.10.21.
DataEase versions 2.10.20 and below contain a critical SQL injection vulnerability in the sort parameter of the /de2api/datasetData/enumValueObj endpoint. An authenticated attacker can inject arbitrary SQL commands through unsanitized input, enabling time-based blind SQL injection attacks. This vulnerability affects organizations using DataEase for data visualization and analytics, particularly those in Saudi Arabia's banking, government, and energy sectors that rely on this platform for business intelligence.
IMMEDIATE ACTIONS:
1. Identify all DataEase instances in your environment running versions 2.10.20 or below
2. Restrict access to the /de2api/datasetData/enumValueObj endpoint to trusted users only
3. Implement network-level access controls limiting API access to authorized networks
4. Monitor authentication logs for suspicious login patterns and credential abuse
PATCHING GUIDANCE:
1. Upgrade DataEase to version 2.10.21 or later immediately when available
2. Test patches in non-production environments before deployment
3. Plan maintenance windows for production upgrades with minimal business impact
4. Maintain backup and rollback procedures during patching
COMPENSATING CONTROLS (until patch available):
1. Implement Web Application Firewall (WAF) rules to detect and block SQL injection patterns in sort parameters
2. Apply input validation at application layer - whitelist allowed sort field names and directions (ASC/DESC only)
3. Use database query parameterization and prepared statements
4. Implement database activity monitoring (DAM) to detect anomalous SQL queries
5. Restrict database user privileges to minimum required permissions
6. Enable SQL query logging and audit trails
DETECTION RULES:
1. Monitor for unusual characters in sort parameter: single quotes, semicolons, SQL keywords (UNION, SELECT, DROP, etc.)
2. Alert on time-based delays in API responses from /de2api/datasetData/enumValueObj endpoint
3. Track failed database queries and authentication attempts
4. Monitor for multiple rapid requests to the vulnerable endpoint
5. Log all API calls to this endpoint with full request/response payloads
6. Alert on database error messages in application logs containing SQL syntax errors
الإجراءات الفورية:
1. حدد جميع مثيلات DataEase في بيئتك التي تعمل بالإصدارات 2.10.20 أو أقدم
2. قيد الوصول إلى نقطة النهاية /de2api/datasetData/enumValueObj للمستخدمين الموثوقين فقط
3. طبق عناصر التحكم في الوصول على مستوى الشبكة لتحديد وصول API للشبكات المصرح بها
4. راقب سجلات المصادقة للأنماط المريبة وإساءة استخدام بيانات الاعتماد
إرشادات التصحيح:
1. قم بترقية DataEase إلى الإصدار 2.10.21 أو أحدث فوراً عند توفره
2. اختبر التصحيحات في بيئات غير الإنتاج قبل النشر
3. خطط نوافذ الصيانة لترقيات الإنتاج بأقل تأثير على الأعمال
4. احتفظ بإجراءات النسخ الاحتياطي والتراجع أثناء التصحيح
عناصر التحكم التعويضية (حتى توفر التصحيح):
1. طبق قواعد جدار حماية تطبيقات الويب (WAF) للكشف عن أنماط حقن SQL وحجبها
2. طبق التحقق من المدخلات على مستوى التطبيق - قائمة بيضاء لأسماء حقول الفرز والاتجاهات المسموحة فقط
3. استخدم معاملات قاعدة البيانات والبيانات المحضرة
4. طبق مراقبة نشاط قاعدة البيانات (DAM) للكشف عن استعلامات SQL الشاذة
5. قيد امتيازات مستخدم قاعدة البيانات للحد الأدنى المطلوب
6. فعّل تسجيل استعلامات SQL ومسارات التدقيق
قواعد الكشف:
1. راقب الأحرف غير العادية في معامل الفرز: علامات اقتباس مفردة وفواصل منقوطة وكلمات SQL الرئيسية
2. تنبيه على التأخيرات المستندة إلى الوقت في استجابات API من نقطة النهاية
3. تتبع استعلامات قاعدة البيانات الفاشلة ومحاولات المصادقة
4. راقب الطلبات السريعة المتعددة إلى نقطة النهاية الضعيفة
5. سجل جميع استدعاءات API لهذه النقطة مع حمولات الطلب/الاستجابة الكاملة
6. تنبيه على رسائل خطأ قاعدة البيانات في سجلات التطبيق التي تحتوي على أخطاء بناء جملة SQL