Apache Solr VelocityResponseWriter Plug-In Remote Code Execution Vulnerability
Exploited since 2021-11-03. No WAF vendor names it yet. Our CRS test: partly blocked.
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… More
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).
Edge coverage
Claimed by vendorsAsk Vigil
AI · answers from this pageWorkers AI (Llama 3.3). Can be wrong: check the cited source.
Severity, decoded
CVSS 3.1Exploitable over the network under specific conditions, with low privileges and no user interaction, leading to full loss of confidentiality, integrity and availability.
How the score is built
- Attack vectorAn attacker can reach it over the internet; no access to your network needed.Network
- Attack complexityThe attack only works when conditions outside the attacker's control line up.High
- Privileges requiredThe attacker needs an ordinary user account.Low
- User interactionNo one has to click or open anything; the attack works on its own.None
- ScopeThe damage stays within the vulnerable component.Unchanged
- Confidentiality impactAn attacker can read all data the affected component holds, or the most sensitive parts of it.High
- Integrity impactAn attacker can change any data or files the affected component protects.High
- Availability impactAn attacker can take the component down completely or keep it from serving anyone.High
CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:HAttackers are exploiting this in the wild.
At least one step needs hands-on work, which slows mass attacks.
A successful attack gives full control over the affected software or all of its data.
Public exploits
4 found- MetasploitApache Solr Remote Code Execution via Velocity Template2019-10-29 · exploit · rank Excellent · has check
- Exploit-DBApache Solr - Remote Code Execution via Velocity Template (Metasploit)2020-04-16 · remote · multiple · verified
- Exploit-DBApache Solr 8.2.0 - Remote Code Execution2019-11-01 · webapps · java
- NucleiCVE-2019-17558.yamldetection template, replayed in our lab
Links are to third-party code: never run it outside an isolated lab.
Timeline
- 2019-10-29Metasploit module publishedApache Solr Remote Code Execution via Velocity Template
- 2019-11-01Exploit published on Exploit-DBApache Solr 8.2.0 - Remote Code Execution
- 2019-12-30CVE publishedCVE List
- 2021-11-03Added to CISA KEVConfirmed exploitation in the wild
- 2026-11-02Our test: OWASP Core Rule Set blocked part of itparanoia level 1, anomaly threshold 5, default CRS settings
- 2026-11-02Our test: OWASP Core Rule Set blocked part of itparanoia level 2, anomaly threshold 5, default CRS settings
Vendor statements
QuotedCloudflareWAF Managed Rules
The CVE predates the oldest entry in this vendor's public feed, so a rule may exist that we cannot see.
AWSAWS WAF Managed Rules
We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. AWS often describes a vulnerability without naming its CVE (for example "Log4j"). We count only entries that name the CVE, so AWS coverage is understated.
Microsoft AzureFront Door and Application Gateway WAF (DRS)
We found no public statement from this vendor naming this CVE. That is not proof of no protection: generic rules may still catch it. The rule tables name CVEs but carry no dates, so Azure is left out of every time-to-rule figure.
Google CloudCloud Armor preconfigured WAF rules
The CVE predates the oldest entry in this vendor's public feed, so a rule may exist that we cannot see.
FastlyNext-Gen WAF virtual patches
The CVE predates the oldest entry in this vendor's public feed, so a rule may exist that we cannot see.
F5Attack signatures (Distributed Cloud WAF)
The CVE predates the oldest entry in this vendor's public feed, so a rule may exist that we cannot see.
AkamaiApp & API Protector (Adaptive Security Engine)
This vendor publishes no machine-readable rule changelog we can check.
OWASP CRSCore Rule Set (open source, used inside many WAFs)
The CVE predates the oldest entry in this vendor's public feed, so a rule may exist that we cannot see.
Social
No posts seen yet on X, Bluesky, Mastodon, Hacker News or GitHub.