A flaw was found in REXML. A remote attacker could exploit inefficient regular expression (regex) parsing when processing hex numeric character references (&#x...;) in XML documents. This could lead to a Regular Expression Denial of Service (ReDoS), impacting the availability of the affected component. This issue is the result of an incomplete fix for CVE-2024-49761.
CVE-2025-10990 is a Regular Expression Denial of Service (ReDoS) vulnerability in REXML affecting hex numeric character reference parsing. An incomplete fix for CVE-2024-49761 leaves the component vulnerable to availability attacks through maliciously crafted XML documents. With a CVSS score of 7.5 and no exploit currently available, this represents a high-priority vulnerability requiring immediate patching across affected systems.
Immediate Actions:
1. Identify all systems running REXML library (typically in Ruby/Rails applications) using dependency scanning tools
2. Assess XML processing workflows and document sources accepting external XML input
3. Implement input validation to reject suspicious XML patterns with excessive character references
Patching Guidance:
1. Update REXML to the latest patched version immediately (verify patch completeness for CVE-2024-49761)
2. For Ruby on Rails applications: update Gemfile and run 'bundle update rexml'
3. For standalone REXML: update via 'gem update rexml'
4. Test thoroughly in staging environment before production deployment
Compensating Controls (if immediate patching not possible):
1. Implement XML parsing timeouts (set aggressive timeout thresholds)
2. Deploy Web Application Firewall (WAF) rules to detect and block XML with excessive character references (&#x patterns)
3. Rate-limit XML processing requests from untrusted sources
4. Implement resource quotas on regex processing operations
Detection Rules:
1. Monitor for XML documents containing multiple consecutive hex character references (&#x[0-9a-fA-F]+;)
2. Alert on CPU spikes during XML parsing operations
3. Log and analyze failed XML parsing attempts with timeout errors
4. Monitor application response times for XML endpoints
الإجراءات الفورية:
1. تحديد جميع الأنظمة التي تستخدم مكتبة REXML باستخدام أدوات فحص التبعيات
2. تقييم سير عمل معالجة XML والمصادر التي تقبل مدخلات XML خارجية
3. تطبيق التحقق من المدخلات لرفض أنماط XML المريبة التي تحتوي على مراجع أحرف مفرطة
إرشادات التصحيح:
1. تحديث مكتبة REXML إلى أحدث إصدار معدل فوراً (التحقق من اكتمال الإصلاح للثغرة CVE-2024-49761)
2. لتطبيقات Ruby on Rails: تحديث Gemfile وتشغيل 'bundle update rexml'
3. لـ REXML المستقل: التحديث عبر 'gem update rexml'
4. الاختبار الشامل في بيئة التطوير قبل النشر في الإنتاج
الضوابط البديلة (إذا لم يكن التصحيح الفوري ممكناً):
1. تطبيق مهلات زمنية لمعالجة XML (تعيين حدود زمنية صارمة)
2. نشر قواعد جدار حماية تطبيقات الويب (WAF) للكشف عن XML الذي يحتوي على مراجع أحرف مفرطة وحجبه
3. تحديد معدل طلبات معالجة XML من مصادر غير موثوقة
4. تطبيق حصص الموارد على عمليات معالجة التعبيرات النمطية
قواعد الكشف:
1. مراقبة مستندات XML التي تحتوي على مراجع أحرف سادسة عشرية متتالية متعددة
2. التنبيه على ارتفاع استخدام المعالج أثناء عمليات معالجة XML
3. تسجيل وتحليل محاولات معالجة XML الفاشلة مع أخطاء المهلة الزمنية
4. مراقبة أوقات استجابة التطبيق لنقاط نهاية XML