CVE-2014-3120
Elasticsearch ≤ 1.2.0
Raw vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:NCVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.
Summary
CVE-2014-3120 is a high-severity Improper Access Control (CWE-284) vulnerability in Elastic Elasticsearch. Its CVSS base score is 8.1 (High).
Operationally, ranked in the top 0.2% of CVEs by exploit likelihood; CISA has added it to the Known Exploited Vulnerabilities catalog; a public proof-of-concept is referenced.
Deeper analysis AI-assisted summary
Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.
The vulnerability tracked as CVE-2014-3120 affects Elasticsearch versions before 1.2. In the default configuration, dynamic scripting is enabled, permitting remote attackers to supply arbitrary MVEL expressions and Java code through the source parameter of the _search endpoint. This behavior stems from improper access control (CWE-284) and carries a CVSS 3.1 score of 8.1.
An attacker with network access to an affected instance can submit crafted search requests that execute the supplied expressions, resulting in arbitrary code execution. Successful exploitation grants the ability to read or modify data and potentially impact system integrity, although the vendor notes the issue only violates intended policy when Elasticsearch is not isolated in its own virtual machine.
Public references document working exploits, including modules in the Metasploit framework and standalone proof-of-concept code on Exploit-DB, confirming that remote code execution is practical against unpatched or misconfigured deployments.
OWASP Top 10 for Web (2025)
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2022-5879
Vulnerability Data
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…
more
does not run Elasticsearch in its own independent virtual machine.
- CWE(s)
- KEV Date Added
- 25 March 2022
Related Threats
CVEs Like This One
Affected Assets
Mitigating Controls
Likely Mitigating Controls AI
Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.
The access control policy and procedures directly mandate and enforce proper access control mechanisms across the organization.
Device lock enforces restricted access until re-authentication, directly reducing unauthorized use of active sessions.
Supervision and review of access control activities directly detects and remediates improper access configurations or usages.
Explicitly identifying and documenting actions permitted without identification or authentication enforces proper access control boundaries by defining justified exceptions.
By automatically labeling outputs with security attributes, the control supports attribute-based enforcement and reduces exploitability of improper access control weaknesses.
Associating and retaining security attributes with data directly supports enforcement of access control decisions across storage, processing, and transmission.
Requiring prior authorization for each remote access type prevents improper access control over remote connections.
Requiring authorization of wireless access before allowing connections enforces proper access control for this access method.
Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI
Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.
A.5.1 only requires that an information security policy and topic-specific policies (including on access control) exist and are reviewed; it does not itself enforce, implement or act on any access restriction, so the weakness can still be exploited (per the owner's explicit rule that governance/dependency clauses score none on effect verbs).
A.5.15 directly mandates determining requirements, defining/implementing topic-specific access control policy+rules (with explicit references to 8.3, 5.16, 5.18), and enforcing authorized access while preventing unauthorized access, which squarely stops exploitation of most CWE-284 instances; the bounded remainder is the physical slice (explicitly delegated to 7.2-7.4) plus any second-order defects like path traversal that are not authorization decisions.
A.5.16's identity lifecycle (unique binding, timely disable/remove, no duplicates, oversight of shared/non-human) directly stops most improper access by ensuring the actor in an access decision is correctly identified and authorized; the bounded remainder is non-identity mechanisms in CWE-284 such as path traversal or CSRF that do not turn on actor identity at all.
A.5.18 directly governs the provisioning, review, adjustment and timely revocation of both physical and logical access rights per business rules, segregation of duties and risk-evaluated changes/terminations; this stops most unauthorized-actor exploitation paths named by CWE-284, with a bounded remainder (e.g. path-traversal or CSRF cases that are not authorization decisions at all)
A.5.2 defines and assigns roles/responsibilities for protection of information and risk acceptance; it does not itself enforce any access decision and cannot stop exploitation of improper access control (per the owner's labeling rule: governance/dependency clauses do not score on prevent/mitigate verbs)
Ongoing audits and performance reviews of suppliers detect and correct situations where access controls or privilege assignments are weaker than contractually required, limiting an attacker's ability to exploit improper access control in the supplier's environment.
Hardening callouts derived
DISA STIG baselines are authored against specific weaknesses. Where this CVE cites a broad weakness class, the mapping is not asserted at that abstraction (owner ruling, 2026-09-25: grade only at Base and below), so no rule is shown here rather than a rule shown against the wrong grain.