Apache Solr 5.0.0 to Apache Solr 8.3.1 are vulnerable to a Remote Code Execution through the VelocityResponseWriter. A Velocity template can be provided through Velocity templates in a configset `velocity/` directory or as a parameter. A user defined configset could contain renderable, potentially malicious, templates. Parameter provided templates are disabled by default, but can be enabled by setting `params.resource.loader.enabled` by defining a response writer with that setting set to `true`. Defining a response writer requires configuration API access. Solr 8.4 removed the params resource loader entirely, and only enables the configset-provided template rendering when the configset is `trusted` (has been uploaded by an authenticated user).
Published: 2019-11-22
Apache Solr remained vulnerable to a zero-day weeks after proof-of-concept code became public for CVE-2019-17558.UPDATE 12/31/2019: The background and solution sections below have been updated to reflect the recent security update released by Apache.
https://github.com/chengbochuan3/CVE-Apache-Ecosystem
https://github.com/flags-alt/abyss-c2
https://github.com/rogerzeferino/Apache-Solr-RCE-CVE-2019-17558
https://github.com/kuckibf/Popular-CVEs
https://github.com/Ma1Dong/Solr_CVE-2019-17558
https://github.com/zhzyker/exphub
https://github.com/advisories/GHSA-ww97-9w65-2crx
https://www.cisa.gov/known-exploited-vulnerabilities-catalog?field_cve=CVE-2019-17558