DataEase is an open-source data visualization and analytics platform. Versions 2.10.20 and below contain a SQL injection vulnerability in the /de2api/datasetData/previewSql endpoint. The user-supplied SQL is wrapped in a subquery without validation that the input is a single SELECT statement. Combined with the JDBC blocklist bypass that allows enabling allowMultiQueries=true, an attacker can break out of the subquery and execute arbitrary stacked SQL statements, including UPDATE and other write operations, against the connected database. An authenticated attacker with access to valid datasource credentials can achieve full read and write access to the underlying database. 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 /de2api/datasetData/previewSql endpoint that allows authenticated attackers to execute arbitrary SQL statements including write operations against connected databases. The vulnerability exploits insufficient input validation combined with JDBC blocklist bypass techniques. Organizations using DataEase for analytics and reporting face immediate risk of data breach and database compromise.
IMMEDIATE ACTIONS:
1. Identify all DataEase instances in your environment and document their version numbers
2. Restrict network access to DataEase API endpoints, particularly /de2api/datasetData/previewSql, using firewall rules and WAF policies
3. Review and audit all DataEase user accounts and datasource credentials; revoke unnecessary access
4. Enable comprehensive logging and monitoring of all SQL queries executed through DataEase
5. Implement database activity monitoring (DAM) to detect anomalous SQL patterns
PATCHING GUIDANCE:
1. Upgrade to DataEase version 2.10.21 or later immediately when available
2. If immediate patching is not possible, implement input validation at the application layer to reject multi-statement SQL queries
3. Disable allowMultiQueries parameter in JDBC connection strings if not required for legitimate operations
4. Apply principle of least privilege to DataEase service accounts - use read-only database credentials where possible
COMPENSATING CONTROLS:
1. Implement Web Application Firewall (WAF) rules to block SQL injection patterns in /de2api/datasetData/previewSql requests
2. Deploy database-level query restrictions using stored procedures and parameterized queries
3. Enable database encryption at rest and in transit
4. Implement multi-factor authentication for all DataEase administrative accounts
5. Segment DataEase infrastructure from critical production databases using network isolation
DETECTION RULES:
1. Monitor for SQL keywords (UNION, DROP, INSERT, UPDATE, DELETE, EXEC) in /de2api/datasetData/previewSql POST parameters
2. Alert on multiple SQL statements in single API request (semicolon-separated queries)
3. Track failed authentication attempts followed by successful API calls
4. Monitor for unusual database write operations originating from DataEase service accounts
5. Log and alert on changes to JDBC connection parameters, especially allowMultiQueries modifications
الإجراءات الفورية:
1. حدد جميع مثيلات DataEase في بيئتك وقم بتوثيق أرقام إصداراتها
2. قيد الوصول إلى نقاط نهاية DataEase API، خاصة /de2api/datasetData/previewSql، باستخدام قواعد جدار الحماية وسياسات WAF
3. راجع وتدقيق جميع حسابات مستخدمي DataEase وبيانات اعتماد مصدر البيانات؛ إلغاء الوصول غير الضروري
4. تفعيل السجلات الشاملة والمراقبة لجميع استعلامات SQL المنفذة من خلال DataEase
5. تنفيذ مراقبة نشاط قاعدة البيانات (DAM) للكشف عن أنماط SQL الشاذة
إرشادات التصحيح:
1. قم بالترقية إلى إصدار DataEase 2.10.21 أو أحدث فوراً عند توفره
2. إذا لم يكن التصحيح الفوري ممكناً، قم بتنفيذ التحقق من المدخلات على مستوى التطبيق لرفض استعلامات SQL متعددة الجمل
3. عطل معامل allowMultiQueries في سلاسل اتصال JDBC إذا لم تكن مطلوبة للعمليات المشروعة
4. طبق مبدأ أقل امتياز على حسابات خدمة DataEase - استخدم بيانات اعتماد قاعدة البيانات للقراءة فقط حيث أمكن
الضوابط التعويضية:
1. تنفيذ قواعد جدار تطبيقات الويب (WAF) لحظر أنماط حقن SQL في طلبات /de2api/datasetData/previewSql
2. نشر قيود الاستعلام على مستوى قاعدة البيانات باستخدام الإجراءات المخزنة والاستعلامات المعاملة
3. تفعيل تشفير قاعدة البيانات أثناء الراحة والنقل
4. تنفيذ المصادقة متعددة العوامل لجميع حسابات إدارة DataEase
5. فصل بنية DataEase عن قواعد البيانات الإنتاجية الحرجة باستخدام العزل الشبكي
قواعد الكشف:
1. مراقبة كلمات مفاتيح SQL (UNION, DROP, INSERT, UPDATE, DELETE, EXEC) في معاملات POST /de2api/datasetData/previewSql
2. تنبيه على عمليات SQL متعددة في طلب API واحد (استعلامات مفصولة بفاصلة منقوطة)
3. تتبع محاولات المصادقة الفاشلة متبوعة بنداءات API الناجحة
4. مراقبة عمليات كتابة قاعدة البيانات غير العادية التي تنشأ من حسابات خدمة DataEase
5. تسجيل والتنبيه على التغييرات في معاملات اتصال JDBC، خاصة تعديلات allowMultiQueries