CVE DatabaseCVE-2014-3120
한국어 권고문 →
CVE-2014-31208.1/HIGHCISA KEVCWE-284CWE-284

Elasticsearch < 1.2 Dynamic Scripting Remote Code Execution Vulnerability Analysis and Mitigation Guide (CVE-2014-3120)

⚡ Jump to Patch
Affected Vendors
elasticsearch
Affected Components
elasticsearch
Published Date
2014-07-28
CVSS v3.1
8.1
HIGH
EPSS (30d)
88.6%
FIRST.org
CISA KEV
Exploited

Executive & SecOps Summary

SECOPS ASSESSMENT
Affected Scope

Elasticsearch installations prior to version 1.2 running with default configurations

Impact

Unauthenticated remote attackers can execute arbitrary MVEL expressions and Java code via the source parameter of the _search API, leading to complete system compromise

Mitigation

Upgrade Elasticsearch to version 1.2 or higher, or explicitly disable dynamic scripting in the elasticsearch.yml configuration file

Affected Products & Version Scope

All Elasticsearch versions prior to 1.2 with dynamic scripting enabled (default configuration)

Remediation & Live Workaround Commands

PATCH & WORKAROUND

1. Official Patch & Version Upgrade Commands

The recommended remediation is to upgrade Elasticsearch to version 1.2 or later. Below are the commands to upgrade the package on Debian-based systems.

bash
# Update package lists and upgrade Elasticsearch
sudo apt-get update
sudo apt-get install --only-upgrade elasticsearch

# Restart the service and verify status
sudo systemctl restart elasticsearch
sudo systemctl status elasticsearch

2. Temporary Workaround & Hardening Configuration

If an immediate upgrade is not feasible, you must disable dynamic scripting by modifying the elasticsearch.yml configuration file.

bash
# Append the disabling directive to the configuration file
sudo bash -c 'echo "script.disable_dynamic: true" >> /etc/elasticsearch/elasticsearch.yml'

# Restart the Elasticsearch service to apply changes
sudo systemctl restart elasticsearch

3. Log Audit & IoC Verification Commands

Use the following commands to check the running Elasticsearch version and audit log files for potential exploitation attempts.

bash
# 1. Check the running Elasticsearch version
curl -XGET 'http://localhost:9200/'

# 2. Search logs for suspicious Java runtime execution or MVEL keywords
grep -ri 'java.lang.Runtime' /var/log/elasticsearch/
grep -ri 'MVEL' /var/log/elasticsearch/
Interactive SecOps Remediation Checklist
0/4 (0%)
Recommended Security Control & Mitigation Partner
Cloudflare Enterprise & Pro WAF
Immediately disable dynamic scripting or upgrade to a patched version of Elasticsearch to prevent remote code execution.

Block Exploits Instantly with Managed Virtual Patching Rules

Can't patch production immediately? Deploy managed WAF rules at the edge to intercept RCE, SQLi, and deserialization payloads before they hit your origin server.

3-min setup · Automated Zero-Day Managed Rules
Practice Exploiting & Patching This Web Vulnerability in an Interactive Lab
Launch Hands-On Security Lab

Technical Root Cause & Exploitation Mechanics

1. Vulnerability Overview & Root Cause

This vulnerability exists due to the default configuration in Elasticsearch before version 1.2, which enables dynamic scripting. Elasticsearch utilizes the MVEL (MVFLEX Expression Language) scripting engine to allow users to execute custom operations during search queries. Because the input validation and sandboxing mechanisms within this engine are insufficient, remote attackers can leverage Java reflection to execute arbitrary system commands.

2. Exploitation Mechanics & Attack Scenario

An attacker sends a crafted HTTP POST request to the _search endpoint of the target Elasticsearch server. By embedding malicious MVEL expressions within the source parameter of the request body, the attacker bypasses intended execution boundaries. Since the MVEL engine executes with the privileges of the Elasticsearch process, the attacker can invoke java.lang.Runtime.getRuntime().exec() to run arbitrary shell commands on the host operating system without authentication.

3. Infrastructure & Business Impact

This vulnerability is listed on the CISA KEV catalog and carries a high EPSS score, indicating active exploitation in the wild. Successful exploitation allows attackers to gain unauthorized shell access, exfiltrate sensitive data, modify database contents, and pivot to other internal network assets, posing a severe threat to infrastructure security and business continuity.

Official Vendor Advisories & References

NVD Original English 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.

Frequently Asked SecOps Questions (CVE-2014-3120)

FAQ

Q1. How critical is CVE-2014-3120 and is it actively exploited in the wild?

CVE-2014-3120 is rated CVSS 8.1 (HIGH) with a 30-day EPSS exploitation probability of 88.6%. It is listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, requiring immediate emergency remediation.

Q2. Which vendors and products are affected by CVE-2014-3120?

Primary impacted vendors include elasticsearch across elasticsearch. Scope summary: All Elasticsearch versions prior to 1.2 with dynamic scripting enabled (default configuration)

Q3. What temporary mitigations or workarounds exist for CVE-2014-3120 before patching?

[Mitigation] Upgrade Elasticsearch to version 1.2 or higher, or explicitly disable dynamic scripting in the elasticsearch.yml configuration file Follow the CLI remediation commands and interactive SecOps checklist on this page to restrict exposure prior to your maintenance window.

SECOPS WORKBENCH INTEGRATION

Generate an Internal Engineering Notice or CISO Report for CVE-2014-3120

Instantly format this advisory into an executive CISO summary or engineering patch ticket.

Generate Report →

🔗 Related Advisories in Similar Stack (elasticsearch)

View Category →
SecOps Advisory Dispatch & RSS Feed

Subscribe to Daily Vulnerability Briefings & KEV Alerts

Concise morning briefings for SecOps, DevSecOps, and SRE teams covering newly exploited CVEs and mitigation priorities.

Slack / Teams / RSS Feed:
PatchKO
CVE-2014-3120 Elasticsearch < 1.2 Dynamic Scripting Remote Code Execution Vulnerability Analysis and Mitigation Guide (CVE-2014-3120) (CVSS 8.1) - Patch & Workaround | CVE Pulse