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).
{
"nvd_published_at": "2019-12-30T17:15:00Z",
"severity": "HIGH",
"github_reviewed_at": "2020-02-11T19:43:12Z",
"cwe_ids": [
"CWE-20",
"CWE-74",
"CWE-94"
],
"github_reviewed": true
}