A vulnerability was found in Dromara UJCMS 10.0.2. Impacted is the function importChanel of the file /api/backend/ext/import-data/import-channel of the component ImportDataController. Performing a manipulation of the argument driverClassName/url results in injection. It is possible to initiate the attack remotely. The exploit has been made public and could be used. The vendor was contacted early about this disclosure but did not respond in any way.
CVE-2026-2954 is a SQL injection vulnerability in Dromara UJCMS 10.0.2 affecting the ImportDataController's importChannel function. An attacker can manipulate the driverClassName/url parameters to inject malicious SQL code, potentially leading to unauthorized data access or modification. With no patch available and public exploit details disclosed, this poses an immediate risk to organizations using this CMS platform.
IMMEDIATE ACTIONS:
1. Identify all instances of UJCMS 10.0.2 in your environment using network scanning and asset inventory tools
2. Isolate affected systems from production networks if possible, or restrict access to the /api/backend/ext/import-data/import-channel endpoint
3. Review access logs for the importChannel function for suspicious activity (unusual driverClassName or url parameters)
4. Implement Web Application Firewall (WAF) rules to block requests containing SQL injection patterns to this endpoint
COMPENSATING CONTROLS:
5. Apply input validation at the application layer - whitelist allowed driverClassName values and validate URL format strictly
6. Implement parameterized queries/prepared statements if source code access is available
7. Restrict API endpoint access using IP whitelisting and authentication tokens
8. Enable database query logging and monitor for suspicious SQL patterns
9. Apply principle of least privilege to database user accounts used by UJCMS
DETECTION RULES:
10. Monitor for POST requests to /api/backend/ext/import-data/import-channel with parameters containing: UNION, SELECT, DROP, INSERT, UPDATE, DELETE, OR 1=1, comment sequences (-- or /*)
11. Alert on database connection attempts with unusual character encoding or escaped quotes
12. Track failed authentication attempts to the import-data endpoint
LONG-TERM:
13. Contact Dromara for security updates or consider migration to patched versions when available
14. Evaluate alternative CMS solutions with active security support
الإجراءات الفورية:
1. حدد جميع حالات UJCMS 10.0.2 في بيئتك باستخدام أدوات المسح والجرد
2. عزل الأنظمة المتأثرة عن شبكات الإنتاج أو تقييد الوصول إلى نقطة النهاية /api/backend/ext/import-data/import-channel
3. راجع سجلات الوصول لوظيفة importChannel للبحث عن نشاط مريب
4. تطبيق قواعد جدار حماية تطبيقات الويب لحجب الطلبات التي تحتوي على أنماط حقن SQL
الضوابط التعويضية:
5. تطبيق التحقق من صحة الإدخال - إدراج قيم driverClassName المسموحة والتحقق من صيغة URL
6. تطبيق الاستعلامات المعاملة إذا كان الوصول إلى الكود المصدري متاحاً
7. تقييد وصول نقطة النهاية باستخدام القائمة البيضاء للعناوين وتوكنات المصادقة
8. تفعيل تسجيل استعلامات قاعدة البيانات ومراقبة الأنماط المريبة
9. تطبيق مبدأ الامتياز الأقل على حسابات مستخدمي قاعدة البيانات
قواعد الكشف:
10. مراقبة طلبات POST إلى النقطة النهائية التي تحتوي على كلمات مفتاحية SQL
11. التنبيه على محاولات الاتصال بقاعدة البيانات غير العادية
12. تتبع محاولات المصادقة الفاشلة
المدى الطويل:
13. اتصل بـ Dromara للحصول على تحديثات أمان أو فكر في الترقية
14. قيّم حلول CMS البديلة