Bug 1124252 (CVE-2014-3120)
Summary: | CVE-2014-3120 elasticsearch: remote code execution flaw via dynamic scripting | ||
---|---|---|---|
Product: | [Other] Security Response | Reporter: | Murray McAllister <mmcallis> |
Component: | vulnerability | Assignee: | Red Hat Product Security <security-response-team> |
Status: | CLOSED ERRATA | QA Contact: | |
Severity: | high | Docs Contact: | |
Priority: | high | ||
Version: | unspecified | CC: | bkearney, cbillett, chazlett, cpelland, djorm, jrusnack, jsherril, katello-bugs, kseifried, mmccune, sthirugn, tjay, tomckay, vdanen, weli |
Target Milestone: | --- | Keywords: | Security |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | elasticsearch 1.2.0 | Doc Type: | Bug Fix |
Doc Text: |
It was discovered that the default configuration of Elasticsearch enabled dynamic scripting, allowing a remote attacker to execute arbitrary MVEL expressions and Java code via the source parameter passed to _search.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2014-09-11 21:36:14 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 1125071, 1125072 | ||
Bug Blocks: | 1124259, 1125074 |
Description
Murray McAllister
2014-07-29 07:25:46 UTC
There are multiple public reports of this issue dating back to at least Nov 2013: https://blog.liftsecurity.io/2013/11/30/elasticsearch-command-execution-using-script https://www.found.no/foundation/elasticsearch-security/#scripting-for-fun-and-profit http://bouk.co/blog/elasticsearch-rce/ Recent upstream blog post about (in)security of dynamic scripting: http://www.elasticsearch.org/blog/scripting-security/ Metasploit module: http://www.rapid7.com/db/modules/exploit/multi/elasticsearch/script_mvel_rce https://github.com/rapid7/metasploit-framework/blob/master/modules/exploits/multi/elasticsearch/script_mvel_rce.rb Upstream commit and bug report that changed the default value of script.disable_dynamic from false to true: https://github.com/elasticsearch/elasticsearch/commit/81e83cca https://github.com/elasticsearch/elasticsearch/issues/5853 Upstream documentation for the script.disable_dynamic configuration option: http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-scripting.html#_enabling_dynamic_scripting Note that support for the 'sandbox' value was only introduced later with the addition of Groovy support. Statement: On Subscription Asset Manager (SAM) 1, the elasticsearch service is only bound to the loopback interface by default. To exploit this issue on a SAM 1 system, an attacker must have local access to the system. On Red Hat JBoss Fuse and Red Hat JBoss A-MQ, the elasticsearch service is only started if the insight-elasticsearch feature is installed. This feature is not installed by default. External References: https://access.redhat.com/solutions/1191453 This issue has been addressed in following products: Red Hat JBoss Fuse and A-MQ 6.0.0 Via RHSA-2014:1170 https://rhn.redhat.com/errata/RHSA-2014-1170.html This issue has been addressed in following products: Fuse ESB Enterprise/MQ Enterprise 7.1.0 Via RHSA-2014:1171 https://rhn.redhat.com/errata/RHSA-2014-1171.html IssueDescription: It was discovered that the default configuration of Elasticsearch enabled dynamic scripting, allowing a remote attacker to execute arbitrary MVEL expressions and Java code via the source parameter passed to _search. This issue has been addressed in the following products: Red Hat Subscription Asset Manager 1.4 Via RHSA-2014:1186 https://rhn.redhat.com/errata/RHSA-2014-1186.html |