CVE-2019-0193
📋 TL;DR
CVE-2019-0193 is a remote code execution vulnerability in Apache Solr's DataImportHandler module. Attackers can exploit the debug mode's 'dataConfig' parameter to execute arbitrary scripts, potentially compromising the entire server. This affects Apache Solr installations with DataImportHandler enabled, particularly those exposed to untrusted networks.
💻 Affected Systems
- Apache Solr
📦 What is this software?
Solr by Apache
Solr by Apache
⚠️ Risk & Real-World Impact
Worst Case
Full server compromise allowing arbitrary code execution, data theft, lateral movement, and complete system takeover.
Likely Case
Remote code execution leading to data exfiltration, installation of backdoors, or cryptomining malware.
If Mitigated
No impact if the vulnerable parameter is disabled or proper access controls prevent exploitation.
🎯 Exploit Status
Exploitation is straightforward via crafted HTTP requests to the DataImportHandler debug endpoint.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 8.2.0 and later
Vendor Advisory: https://issues.apache.org/jira/browse/SOLR-13669
Restart Required: Yes
Instructions:
1. Upgrade Apache Solr to version 8.2.0 or later. 2. Restart Solr service. 3. Verify the 'enable.dih.dataConfigParam' system property is not set to true unless specifically required.
🔧 Temporary Workarounds
Disable DataImportHandler parameter
allPrevent use of the vulnerable dataConfig parameter by ensuring the Java system property 'enable.dih.dataConfigParam' is not set to true.
Ensure '-Denable.dih.dataConfigParam=false' or remove this property from Solr startup parameters
Disable DataImportHandler module
allRemove or disable the DataImportHandler module if not required.
Remove DataImportHandler from solrconfig.xml or disable via configuration
🧯 If You Can't Patch
- Implement strict network access controls to limit Solr admin interface access to trusted IPs only.
- Use web application firewalls (WAF) to block requests containing suspicious dataConfig parameters.
🔍 How to Verify
Check if Vulnerable:
Check if Solr version is below 8.2.0 and DataImportHandler is enabled in solrconfig.xml.
Check Version:
Check Solr admin UI or run: java -jar start.jar --version
Verify Fix Applied:
Verify Solr version is 8.2.0 or higher and ensure 'enable.dih.dataConfigParam' is not set to true in Java system properties.
📡 Detection & Monitoring
Log Indicators:
- HTTP requests to /solr/corename/dataimport with dataConfig parameter
- Unusual script execution or system commands in Solr logs
Network Indicators:
- POST requests to DataImportHandler endpoints with XML/script content
- Unusual outbound connections from Solr server
SIEM Query:
source="solr.log" AND "dataimport" AND "dataConfig"
🔗 References
- https://issues.apache.org/jira/browse/SOLR-13669
- https://lists.apache.org/thread.html/1addbb49a1fc0947fb32ca663d76d93cfaade35a4848a76d4b4ded9c%40%3Cissues.lucene.apache.org%3E
- https://lists.apache.org/thread.html/42cc4d334ba33905b872a0aa00d6a481391951c8b1450f01b077ce74%40%3Cissues.lucene.apache.org%3E
- https://lists.apache.org/thread.html/55880d48e38ba9e8c41a3b9e41051dbfdef63b86b0cfeb32967edf03%40%3Cissues.lucene.apache.org%3E
- https://lists.apache.org/thread.html/6f2d61bd8732224c5fd3bdd84798f8e01e4542d3ee2f527a52a81b83%40%3Cissues.lucene.apache.org%3E
- https://lists.apache.org/thread.html/7143983363f0ba463475be4a8b775077070a08dbf075449b7beb51ee%40%3Cissues.lucene.apache.org%3E
- https://lists.apache.org/thread.html/9b0e7a7e3e18d0724f511403b364fc082ff56e3134d84cfece1c82fc%40%3Cissues.lucene.apache.org%3E
- https://lists.apache.org/thread.html/a6e3c09dba52b86d3a1273f82425973e1b0623c415d0e4f121d89eab%40%3Cissues.lucene.apache.org%3E
- https://lists.apache.org/thread.html/bcce5a9c532b386c68dab2f6b3ce8b0cc9b950ec551766e76391caa3%40%3Ccommits.nifi.apache.org%3E
- https://lists.apache.org/thread.html/e85f735fad06a0fb46e74b7e6e9ce7ded20b59637cd9f993310f814d%40%3Cissues.lucene.apache.org%3E
- https://lists.apache.org/thread.html/r140128dc6bb4f4e0b6a39e962c7ca25a8cbc8e48ed766176c931fccc%40%3Cusers.solr.apache.org%3E
- https://lists.apache.org/thread.html/r19d23e8640236a3058b4d6c23e5cd663fde182255f5a9d63e0606a66%40%3Cdev.lucene.apache.org%3E
- https://lists.apache.org/thread.html/r1d4a247329a8478073163567bbc8c8cb6b49c6bfc2bf58153a857af1%40%3Ccommits.druid.apache.org%3E
- https://lists.apache.org/thread.html/r339865b276614661770c909be1dd7e862232e3ef0af98bfd85686b51%40%3Cdev.lucene.apache.org%3E
- https://lists.apache.org/thread.html/r33aed7ad4ee9833c4190a44e2b106efd2deb19504b85e012175540f6%40%3Cissues.lucene.apache.org%3E
- https://lists.apache.org/thread.html/r3da74965aba2b5f5744b7289ad447306eeb2940c872801819faa9314%40%3Cusers.solr.apache.org%3E
- https://lists.apache.org/thread.html/r95df34bb158375948da82b4dfe9a1b5d528572d586584162f8f5aeef%40%3Cusers.solr.apache.org%3E
- https://lists.apache.org/thread.html/rb34d820c21f1708c351f9035d6bc7daf80bfb6ef99b34f7af1d2f699%40%3Cissues.lucene.apache.org%3E
- https://lists.apache.org/thread.html/rc400db37710ee79378b6c52de3640493ff538c2beb41cefdbbdf2ab8%40%3Ccommits.submarine.apache.org%3E
- https://lists.apache.org/thread.html/rca37935d661f4689cb4119f1b3b224413b22be161b678e6e6ce0c69b%40%3Ccommits.nifi.apache.org%3E
- https://lists.debian.org/debian-lts-announce/2019/10/msg00013.html
- https://lists.debian.org/debian-lts-announce/2020/08/msg00025.html
- https://issues.apache.org/jira/browse/SOLR-13669
- https://lists.apache.org/thread.html/1addbb49a1fc0947fb32ca663d76d93cfaade35a4848a76d4b4ded9c%40%3Cissues.lucene.apache.org%3E
- https://lists.apache.org/thread.html/42cc4d334ba33905b872a0aa00d6a481391951c8b1450f01b077ce74%40%3Cissues.lucene.apache.org%3E
- https://lists.apache.org/thread.html/55880d48e38ba9e8c41a3b9e41051dbfdef63b86b0cfeb32967edf03%40%3Cissues.lucene.apache.org%3E
- https://lists.apache.org/thread.html/6f2d61bd8732224c5fd3bdd84798f8e01e4542d3ee2f527a52a81b83%40%3Cissues.lucene.apache.org%3E
- https://lists.apache.org/thread.html/7143983363f0ba463475be4a8b775077070a08dbf075449b7beb51ee%40%3Cissues.lucene.apache.org%3E
- https://lists.apache.org/thread.html/9b0e7a7e3e18d0724f511403b364fc082ff56e3134d84cfece1c82fc%40%3Cissues.lucene.apache.org%3E
- https://lists.apache.org/thread.html/a6e3c09dba52b86d3a1273f82425973e1b0623c415d0e4f121d89eab%40%3Cissues.lucene.apache.org%3E
- https://lists.apache.org/thread.html/bcce5a9c532b386c68dab2f6b3ce8b0cc9b950ec551766e76391caa3%40%3Ccommits.nifi.apache.org%3E
- https://lists.apache.org/thread.html/e85f735fad06a0fb46e74b7e6e9ce7ded20b59637cd9f993310f814d%40%3Cissues.lucene.apache.org%3E
- https://lists.apache.org/thread.html/r140128dc6bb4f4e0b6a39e962c7ca25a8cbc8e48ed766176c931fccc%40%3Cusers.solr.apache.org%3E
- https://lists.apache.org/thread.html/r19d23e8640236a3058b4d6c23e5cd663fde182255f5a9d63e0606a66%40%3Cdev.lucene.apache.org%3E
- https://lists.apache.org/thread.html/r1d4a247329a8478073163567bbc8c8cb6b49c6bfc2bf58153a857af1%40%3Ccommits.druid.apache.org%3E
- https://lists.apache.org/thread.html/r339865b276614661770c909be1dd7e862232e3ef0af98bfd85686b51%40%3Cdev.lucene.apache.org%3E
- https://lists.apache.org/thread.html/r33aed7ad4ee9833c4190a44e2b106efd2deb19504b85e012175540f6%40%3Cissues.lucene.apache.org%3E
- https://lists.apache.org/thread.html/r3da74965aba2b5f5744b7289ad447306eeb2940c872801819faa9314%40%3Cusers.solr.apache.org%3E
- https://lists.apache.org/thread.html/r95df34bb158375948da82b4dfe9a1b5d528572d586584162f8f5aeef%40%3Cusers.solr.apache.org%3E
- https://lists.apache.org/thread.html/rb34d820c21f1708c351f9035d6bc7daf80bfb6ef99b34f7af1d2f699%40%3Cissues.lucene.apache.org%3E
- https://lists.apache.org/thread.html/rc400db37710ee79378b6c52de3640493ff538c2beb41cefdbbdf2ab8%40%3Ccommits.submarine.apache.org%3E
- https://lists.apache.org/thread.html/rca37935d661f4689cb4119f1b3b224413b22be161b678e6e6ce0c69b%40%3Ccommits.nifi.apache.org%3E
- https://lists.debian.org/debian-lts-announce/2019/10/msg00013.html
- https://lists.debian.org/debian-lts-announce/2020/08/msg00025.html
- https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2019-0193