Severity by source
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Network-reachable REST API attack vector, low-privilege ML role required with no complexity or interaction, and full CIA impact confined within the inference subprocess scope.
Primary rating from Vendor (elastic).
CVSS VectorVendor: elastic
Lifecycle Timeline
2DescriptionCVE.org
The native inference process that Elasticsearch uses to evaluate uploaded machine learning models accepts a model operation that computes a memory address from an offset supplied inside the model, without validating that the offset stays within the bounds of the underlying storage. A user with the privileges required to upload and deploy a trained model can craft a model that reads and writes memory outside the intended allocation. The result is heap corruption that crashes the inference process, and, with sufficient control over the heap layout, could allow arbitrary code execution in the context of that process.
AnalysisAI
Heap corruption and potential remote code execution in Elasticsearch's native ML inference engine can be triggered by any user holding the low-privilege ML model upload and deploy permission. By crafting a model that embeds an operation computing a memory address from an attacker-controlled offset, a low-privileged authenticated user can cause the native inference subprocess to read and write outside its allocated heap, reliably crashing that process or, under controlled heap layout conditions, executing arbitrary code within it. No active exploitation or public proof-of-concept has been identified at time of analysis, but the CVSS 8.8 rating, network-accessible vector, and explicit RCE potential in the vendor description place this in the urgent-remediation tier for any organization running Elasticsearch with ML features delegated to non-admin users.
Technical ContextAI
CWE-823 (Use of Out-of-range Pointer Offset) covers the vulnerability class where a program computes a runtime pointer by adding an untrusted, unvalidated numeric offset to a base address, potentially referencing memory well outside the intended allocation. Elasticsearch's machine learning feature exposes a REST API for uploading and deploying trained models, which are then executed by a native (C/C++) inference subprocess separate from the main JVM-based Elasticsearch process. This native layer processes model graph operations, and at least one operation type computes a runtime memory address by applying an offset value embedded directly in the model file. Because the inference engine performs no bounds check comparing this offset against the size of the underlying allocation before dereferencing the resulting pointer, a specially crafted model can direct arbitrary reads and writes anywhere on the process heap. The affected product is identified by CPE cpe:2.3:a:elastic:elasticsearch:*:*:*:*:*:*:*:*, covering all tracked Elasticsearch versions published by Elastic.
RemediationAI
Upgrade Elasticsearch to a patched release as indicated by the vendor advisory ESA-2026-123: version 8.19.20 or later for 8.x deployments, 9.4.5 or later for the 9.4.x branch, or 9.5.1 or later for the 9.5.x branch (https://discuss.elastic.co/t/elasticsearch-8-19-20-9-4-5-9-5-1-security-update-esa-2026-123/389504). If an immediate upgrade is not possible, the most targeted compensating control is to audit and revoke the manage_ml or equivalent ML admin cluster privilege from all non-essential user accounts, since removing this privilege entirely eliminates the attack surface at the cost of requiring all model deployments to be performed by a highly trusted administrator. A stronger isolation measure is to disable the ML subsystem cluster-wide by setting xpack.ml.enabled: false in the Elasticsearch configuration, which removes all ML inference capability as a trade-off. Network-layer ACLs restricting access to the Elasticsearch API port do not mitigate this vulnerability for users who already hold valid credentials and API access.
More in Elasticsearch
View allThe Groovy scripting engine in Elasticsearch before 1.3.8 and 1.4.x before 1.4.3 allows remote attackers to bypass the s
The default configuration in Elasticsearch before 1.2 enables dynamic scripting, which allows remote attackers to execut
Directory traversal vulnerability in Elasticsearch before 1.6.1 allows remote attackers to read arbitrary files via unsp
Directory traversal vulnerability in Elasticsearch before 1.4.5 and 1.5.x before 1.5.2, when a site plugin is enabled, a
A flaw was discovered in Elasticsearch, affecting the _search API that allowed a specially crafted query string to cause
All versions of Elastic Cloud Enterprise has the Elasticsearch “anonymous” user enabled by default in deployed clusters.
A memory disclosure vulnerability was identified in Elasticsearch 7.10.0 to 7.13.3 error reporting. Rated medium severit
Remote code execution in Elasticsearch's machine learning component allows an authenticated user with ML model deploymen
The fix for CVE-2020-7009 was found to be incomplete. Rated high severity (CVSS 8.8), this vulnerability is remotely exp
Elasticsearch versions from 6.7.0 before 6.8.8 and 7.0.0 before 7.6.2 contain a privilege escalation flaw if an attacker
Elasticsearch Alerting and Monitoring in versions before 6.4.1 or 5.6.12 have an information disclosure issue when secre
A permission issue was found in Elasticsearch versions before 5.6.15 and 6.6.1 when Field Level Security and Document Le
Same weakness CWE-823 – Use of Out-of-range Pointer Offset
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-58287
GHSA-2rm9-5cpg-f943