← Vulnerability feed

Vulnerability record · CVE-2021-25646 · published 29 January 2021

CVE-2021-25646: Apache Druid JavaScript execution bypass enables remote code execution

Apache · Druid

Apache Druid supports executing user-provided JavaScript embedded in requests, a feature intended for high-trust environments and disabled by default. In Druid 0.20.0 and earlier, an authenticated user can send a specially-crafted request that forces Druid to run that JavaScript regardless of server configuration. Because the code runs with the privileges of the Druid server process, this is a full remote code execution flaw.

8.8 CVSS 3.1 High EPSS 99% · top 0.1%
8.8CVSS 3.1 base score, v2 9.0
99%EPSS exploitation probability, 30 days
NoNot in CISA KEV
1Affected product versions listed by NVD
32References, 2 tagged exploit
17 Jun 2026Last modified by NVD

Description

Apache Druid includes the ability to execute user-provided JavaScript code embedded in various types of requests. This functionality is intended for use in high-trust environments, and is disabled by default. However, in Druid 0.20.0 and earlier, it is possible for an authenticated user to send a specially-crafted request that forces Druid to run user-provided JavaScript code for that request, regardless of server configuration. This can be leveraged to execute code on the target machine with the privileges of the Druid server process.

CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

Automated analysis

Generated by VULONE's analysis model from the NVD record, CISA KEV and EPSS data on 17 September 2026. Confidence: high.

high priorityRemote code execution with low attack complexity, high EPSS and public exploit code, though it requires an authenticated account.

What it is

Apache Druid supports executing user-provided JavaScript embedded in requests, a feature intended for high-trust environments and disabled by default. In Druid 0.20.0 and earlier, an authenticated user can send a specially-crafted request that forces Druid to run that JavaScript regardless of server configuration. Because the code runs with the privileges of the Druid server process, this is a full remote code execution flaw.

Impact

An attacker with a valid Druid account gains arbitrary code execution on the Druid host under the server process account, allowing data theft, lateral movement and full host compromise.

Attack surface

Reached over the network via the Druid HTTP interface (CVSS vector AV:N); the attacker must be authenticated (PR:L) and no user interaction is required (UI:N).

Exploitation

CISA KEV does not list this CVE, but EPSS is very high (0.99001, 99.9th percentile) and public references are tagged Exploit, indicating working exploit code is available.

What to do

  • Upgrade Apache Druid to a version later than 0.20.0 that fixes the JavaScript execution bypass.
  • If immediate upgrade is not possible, restrict network access to Druid's HTTP endpoints to trusted hosts only.
  • Audit and remove or tightly control Druid accounts, since exploitation requires authentication.
  • Run the Druid process with a least-privilege service account to limit post-exploitation impact.
  • Monitor for and block requests containing embedded JavaScript payloads where feasible.

Detection

  • Inspect Druid HTTP request logs for requests containing JavaScript code or suspicious function calls in query fields.
  • Alert on unexpected child processes or outbound connections spawned by the Druid server process.
  • Monitor for anomalous file writes or command execution originating from the Druid host.
  • Correlate Druid authentication events with subsequent unusual query activity from the same account.

This assessment is produced automatically and is not human-reviewed. Verify against the vendor advisory before acting on it.

Affected products

1 vulnerable configurations from NVD's CPE data, grouped by vendor and product.

References

LinkTags
http://packetstormsecurity.com/files/162345/Apache-Druid-0.20.0-Remote-Command-Execution.html ExploitThird Party AdvisoryVDB Entry
http://www.openwall.com/lists/oss-security/2021/01/29/6 Mailing ListThird Party Advisory
https://lists.apache.org/thread.html/r04fa1ba93599487c95a8497044d37f8c02a439bfcf92b4567bfb7c8f%40%3Ccommits.druid.apache
https://lists.apache.org/thread.html/r121abe8014d381943b63c60615149d40bde9dc1c868bcee90d0d0848%40%3Ccommits.druid.apache
https://lists.apache.org/thread.html/r20e0c3b10ae2c05a3aad40f1476713c45bdefc32c920b9986b941d8f%40%3Cannounce.apache.org%
https://lists.apache.org/thread.html/r443e2916c612fbd119839c0fc0729327d6031913a75081adac5b43ad%40%3Cdev.druid.apache.org
https://lists.apache.org/thread.html/r4f84b542417ea46202867c0a8b3eaf3b4cfed30e09174a52122ba210%40%3Ccommits.druid.apache
https://lists.apache.org/thread.html/r5ef625076982aee7d23c23f07717e626b73f421fba5154d1e4de15e1%40%3Ccommits.druid.apache
https://lists.apache.org/thread.html/r64431c2b97209f566b5dff92415e7afba0ed3bfab4695ebaa8a62e5d%40%3Cdev.druid.apache.org
https://lists.apache.org/thread.html/r7dff4790e7a5c697fc0360adf11f5aeb31cd6ad80644fffee690673c%40%3Ccommits.druid.apache
https://lists.apache.org/thread.html/r87aa94e28dd21ee2252d30c63f01ab9cb5474ee5bdd98dd8d7d734aa%40%3Ccommits.druid.apache
https://lists.apache.org/thread.html/ra4225912f501016bc5e0ac44e14b8d6779173a3a1dc7baacaabcc9ba%40%3Ccommits.druid.apache
https://lists.apache.org/thread.html/rc167d5e57f3120578718a7a458ce3e73b3830ac4efbb1b085bd06b92%40%3Cdev.druid.apache.org
https://lists.apache.org/thread.html/rea9436a4063927a567d698431ddae55e760c3f876c22ac5b9813685f%40%3Ccommits.druid.apache
https://lists.apache.org/thread.html/rfda8a3aa6ac06a80c5cbfdeae0fc85f88a5984e32ea05e6dda46f866%40%3Cdev.druid.apache.org Mailing ListVendor Advisory
https://lists.apache.org/thread.html/rfeb775822cd3baef1595b60f6860f5ca849eb1903236483f3297bd5c%40%3Ccommits.druid.apache
http://packetstormsecurity.com/files/162345/Apache-Druid-0.20.0-Remote-Command-Execution.html ExploitThird Party AdvisoryVDB Entry
http://www.openwall.com/lists/oss-security/2021/01/29/6 Mailing ListThird Party Advisory
https://lists.apache.org/thread.html/r04fa1ba93599487c95a8497044d37f8c02a439bfcf92b4567bfb7c8f%40%3Ccommits.druid.apache
https://lists.apache.org/thread.html/r121abe8014d381943b63c60615149d40bde9dc1c868bcee90d0d0848%40%3Ccommits.druid.apache
https://lists.apache.org/thread.html/r20e0c3b10ae2c05a3aad40f1476713c45bdefc32c920b9986b941d8f%40%3Cannounce.apache.org%
https://lists.apache.org/thread.html/r443e2916c612fbd119839c0fc0729327d6031913a75081adac5b43ad%40%3Cdev.druid.apache.org
https://lists.apache.org/thread.html/r4f84b542417ea46202867c0a8b3eaf3b4cfed30e09174a52122ba210%40%3Ccommits.druid.apache
https://lists.apache.org/thread.html/r5ef625076982aee7d23c23f07717e626b73f421fba5154d1e4de15e1%40%3Ccommits.druid.apache
https://lists.apache.org/thread.html/r64431c2b97209f566b5dff92415e7afba0ed3bfab4695ebaa8a62e5d%40%3Cdev.druid.apache.org
https://lists.apache.org/thread.html/r7dff4790e7a5c697fc0360adf11f5aeb31cd6ad80644fffee690673c%40%3Ccommits.druid.apache
https://lists.apache.org/thread.html/r87aa94e28dd21ee2252d30c63f01ab9cb5474ee5bdd98dd8d7d734aa%40%3Ccommits.druid.apache
https://lists.apache.org/thread.html/ra4225912f501016bc5e0ac44e14b8d6779173a3a1dc7baacaabcc9ba%40%3Ccommits.druid.apache
https://lists.apache.org/thread.html/rc167d5e57f3120578718a7a458ce3e73b3830ac4efbb1b085bd06b92%40%3Cdev.druid.apache.org
https://lists.apache.org/thread.html/rea9436a4063927a567d698431ddae55e760c3f876c22ac5b9813685f%40%3Ccommits.druid.apache
https://lists.apache.org/thread.html/rfda8a3aa6ac06a80c5cbfdeae0fc85f88a5984e32ea05e6dda46f866%40%3Cdev.druid.apache.org Mailing ListVendor Advisory
https://lists.apache.org/thread.html/rfeb775822cd3baef1595b60f6860f5ca849eb1903236483f3297bd5c%40%3Ccommits.druid.apache

Track CVE-2021-25646 inside VULONE

Watch it alongside the ransomware crews, C2 infrastructure and forum chatter that reference it, query it through the API and pull it into your SIEM over TAXII.

Start free Open in platform

Related vulnerabilities

Same products first, then exploited flaws of the same weakness class.

9.8CVE-2026-23906Apache druid improper authentication vulnerabilityAffected Products and Versions * Apache Druid * Affected Versions: 0.17.0 through 35.x (all versions prior to 36.0.0) * Prerequisites: * druid-basic-…EPSS 1.1%9.8CVE-2025-59390Apache druid vulnerabilityApache Druid’s Kerberos authenticator uses a weak fallback secret when the `druid.auth.authenticator.kerberos.cookieSignatureSecret` configuration is…EPSS 0.61%8.8CVE-2021-26919Apache druid vulnerabilityApache Druid allows users to read data from other database systems using JDBC. This functionality is to allow trusted users with the proper permissio…EPSS 23%6.5CVE-2024-45537Apache druid improper input validation vulnerabilityApache Druid allows users with certain permissions to read data from other database systems using JDBC. This functionality allows trusted users to se…EPSS 0.63%6.5CVE-2021-36749Apache Druid HTTP InputSource authorization bypass allows local file readApache Druid's HTTP InputSource lets an authenticated user supply a file URL and read data from sources other than intended, including the local file…EPSS 81%analysed6.5CVE-2021-26920Apache druid vulnerabilityIn the Druid ingestion system, the InputSource is used for reading data from a certain data source. However, the HTTP InputSource allows authenticate…EPSS 9.5%6.5CVE-2020-1958Apache druid injection vulnerabilityWhen LDAP authentication is enabled in Apache Druid 0.17.0, callers of Druid APIs with a valid set of LDAP credentials can bypass the credentialsVali…EPSS 4.6%6.1CVE-2021-44791Apache druid cross-site scripting vulnerabilityIn Apache Druid 0.22.1 and earlier, certain specially-crafted links result in unescaped URL parameters being sent back in HTML responses. This makes …EPSS 2.2%

Source: NIST National Vulnerability Database (record CVE-2021-25646), CISA KEV, FIRST EPSS (scores of 2026-09-25). This page is refreshed as NVD updates the record.