NocoDB is software for building databases as spreadsheets. Prior to version 0.301.3, a stored XSS vulnerability exists in the Formula virtual cell. Formula results containing URI::() patterns are rendered via v-html without sanitization, allowing injected HTML to execute. This issue has been patched in version 0.301.3.
NocoDB versions prior to 0.301.3 contain a stored XSS vulnerability in Formula virtual cells where unsanitized HTML is rendered via v-html when URI::() patterns are present. This allows attackers to inject and execute malicious scripts within the application context. While no public exploit is available, the vulnerability poses a significant risk to organizations using NocoDB for data management, particularly those handling sensitive business intelligence or customer data.
Immediate Actions:
1. Identify all NocoDB instances in your environment and document their versions
2. Restrict access to NocoDB applications to trusted networks only using firewall rules
3. Implement Web Application Firewall (WAF) rules to block suspicious formula inputs containing URI::() patterns
4. Review audit logs for any suspicious formula modifications or data access patterns
Patching Guidance:
1. Upgrade NocoDB to version 0.301.3 or later immediately when available
2. If upgrade is not immediately possible, disable Formula virtual cell functionality until patching
3. Test patches in non-production environments before deployment
Compensating Controls:
1. Implement Content Security Policy (CSP) headers to restrict script execution
2. Use input validation to sanitize formula inputs and reject patterns containing URI::()
3. Enable detailed logging and monitoring of all formula cell modifications
4. Implement role-based access controls limiting who can create/modify formulas
5. Deploy endpoint detection and response (EDR) solutions to detect malicious script execution
Detection Rules:
1. Monitor for formula inputs containing 'URI::(', 'javascript:', 'onerror=', 'onload=' patterns
2. Alert on any v-html rendering of unsanitized user input
3. Track modifications to formula cells by non-administrative users
4. Monitor for unusual data exfiltration attempts following formula modifications
الإجراءات الفورية:
1. حدد جميع مثيلات NocoDB في بيئتك وقم بتوثيق إصداراتها
2. قيد الوصول إلى تطبيقات NocoDB على الشبكات الموثوقة فقط باستخدام قواعد جدار الحماية
3. طبق قواعد جدار تطبيقات الويب (WAF) لحجب مدخلات الصيغ المريبة التي تحتوي على أنماط URI::()
4. راجع سجلات التدقيق للبحث عن أي تعديلات صيغ مريبة أو أنماط وصول بيانات
إرشادات التصحيح:
1. قم بترقية NocoDB إلى الإصدار 0.301.3 أو أحدث فوراً عند توفره
2. إذا لم يكن الترقية ممكنة على الفور، قم بتعطيل وظيفة خلايا الصيغة الافتراضية حتى التصحيح
3. اختبر التصحيحات في بيئات غير الإنتاج قبل النشر
الضوابط البديلة:
1. طبق رؤوس سياسة أمان المحتوى (CSP) لتقييد تنفيذ البرامج النصية
2. استخدم التحقق من صحة المدخلات لتعقيم مدخلات الصيغ ورفض الأنماط التي تحتوي على URI::()
3. فعّل التسجيل والمراقبة التفصيلية لجميع تعديلات خلايا الصيغة
4. طبق عناصر التحكم في الوصول بناءً على الأدوار لتحديد من يمكنه إنشاء/تعديل الصيغ
5. نشر حلول الكشف والاستجابة على نقاط النهاية (EDR) للكشف عن تنفيذ البرامج النصية الضارة
قواعد الكشف:
1. راقب مدخلات الصيغ التي تحتوي على أنماط 'URI::(', 'javascript:', 'onerror=', 'onload='
2. أصدر تنبيهات عند عرض v-html لمدخلات المستخدم غير المعقمة
3. تتبع التعديلات على خلايا الصيغة من قبل المستخدمين غير الإداريين
4. راقب محاولات تسرب البيانات غير العادية بعد تعديلات الصيغة