Apache Solr DataImportHandler Code Injection Vulnerability — The optional Apache Solr module DataImportHandler contains a code injection vulnerability.
CVE-2019-0193 is a critical code injection vulnerability in Apache Solr's DataImportHandler (DIH) module, scoring 9.0 on the CVSS scale. An attacker with access to the Solr admin interface can craft a malicious DIH configuration to execute arbitrary code on the server. This vulnerability is actively exploited in the wild with public exploit code available, making it an immediate threat to any organization running unpatched Apache Solr instances. Organizations must patch immediately or disable the DataImportHandler module to prevent full system compromise.
IMMEDIATE ACTIONS:
1. Identify all Apache Solr instances in your environment using asset discovery tools
2. Check Solr version: versions prior to 8.1.1 are vulnerable
3. Determine if DataImportHandler (DIH) module is enabled by checking solrconfig.xml for 'dataimport' handler entries
PATCHING GUIDANCE:
1. Upgrade Apache Solr to version 8.1.1 or later immediately
2. Download the latest stable release from https://solr.apache.org/downloads.html
3. Follow the official upgrade guide and test in staging before production deployment
COMPENSATING CONTROLS (if patching is not immediately possible):
1. Disable the DataImportHandler module by removing or commenting out the DIH handler in solrconfig.xml
2. Restrict access to the Solr admin interface (port 8983) using firewall rules — allow only trusted IP ranges
3. Implement authentication on Solr using Solr's built-in security.json configuration
4. Place Solr behind a reverse proxy (e.g., Nginx) with strict access controls
5. Disable external entity processing in DIH configurations
DETECTION RULES:
1. Monitor Solr logs for unusual DIH configuration requests containing script tags or Java class references
2. Create SIEM alerts for POST requests to /solr/*/dataimport with suspicious payloads
3. Monitor for unexpected outbound connections from Solr server processes
4. Deploy Snort/Suricata rule: alert tcp any any -> any 8983 (msg:'Apache Solr DIH Code Injection Attempt'; content:'dataimport'; content:'script'; nocase; sid:9000193;)
5. Check for indicators of compromise: unusual child processes spawned by Solr JVM
الإجراءات الفورية:
1. تحديد جميع نسخ Apache Solr في بيئتك باستخدام أدوات اكتشاف الأصول
2. التحقق من إصدار Solr: الإصدارات السابقة لـ 8.1.1 معرضة للخطر
3. تحديد ما إذا كانت وحدة DataImportHandler مُفعّلة عبر فحص ملف solrconfig.xml
إرشادات التصحيح:
1. ترقية Apache Solr إلى الإصدار 8.1.1 أو أحدث فوراً
2. تنزيل أحدث إصدار مستقر من الموقع الرسمي
3. اتباع دليل الترقية الرسمي والاختبار في بيئة التطوير قبل الإنتاج
ضوابط التعويض (إذا تعذّر التصحيح الفوري):
1. تعطيل وحدة DataImportHandler بإزالة أو تعليق معالج DIH في ملف solrconfig.xml
2. تقييد الوصول إلى واجهة إدارة Solr (المنفذ 8983) باستخدام قواعد جدار الحماية
3. تفعيل المصادقة على Solr باستخدام ملف security.json المدمج
4. وضع Solr خلف وكيل عكسي مع ضوابط وصول صارمة
5. تعطيل معالجة الكيانات الخارجية في تكوينات DIH
قواعد الكشف:
1. مراقبة سجلات Solr لطلبات تكوين DIH غير المعتادة التي تحتوي على وسوم سكريبت أو مراجع فئات Java
2. إنشاء تنبيهات SIEM لطلبات POST إلى /solr/*/dataimport بحمولات مشبوهة
3. مراقبة الاتصالات الصادرة غير المتوقعة من عمليات خادم Solr
4. نشر قواعد Snort/Suricata للكشف عن محاولات الاستغلال
5. التحقق من مؤشرات الاختراق: العمليات الفرعية غير المعتادة التي تُولّدها JVM الخاصة بـ Solr