CVE-2025-25014 is a critical (CVSS 9.1) prototype pollution flaw in Kibana that leads to arbitrary code execution through crafted HTTP requests to machine learning and reporting endpoints. Elastic fixed it in 8.17.6, 8.18.1 and 9.0.1. If you cannot upgrade yet, Elastic documents settings that turn off the exposed features.
What's affected
- Product: Elastic Kibana, self-hosted and Elastic Cloud.
- Affected: 8.3.0 through 8.17.5, 8.18.0 and 9.0.0, per Elastic's security announcement ESA-2025-07.
- Fixed: 8.17.6, 8.18.1 and 9.0.1.
- Configuration: the announcement lists deployments with both the Machine Learning and Reporting features enabled as affected.
- Privileges: the vector shows high privileges required, so the caller needs an authenticated account that can reach those endpoints.
How to check if you're exposed
Find your Kibana version first. It is shown in the Kibana help menu, and the status API returns it.
curl -s -u <user> https://<kibana-host>:5601/api/status | grep -o '"number":"[^"]*"'
If the number sits in one of the affected ranges, check whether both features are on. In kibana.yml look for the reporting setting, and in elasticsearch.yml look for the machine learning setting.
grep -nE 'xpack\.(reporting|ml)' /etc/kibana/kibana.yml /etc/elasticsearch/elasticsearch.yml
No line means the default applies, which per Elastic's text is enabled. For Elastic Cloud, open the deployment's Kibana user settings and look for the same keys. Also list which accounts hold roles that can use Reporting or ML, because the flaw needs an authenticated caller.
What to do now
- Upgrade Kibana to 8.17.6, 8.18.1 or 9.0.1, whichever matches your current line.
- If you cannot upgrade today and run self-hosted Kibana, disable one of the two features. Elastic says to set
xpack.ml.enabled: falseinelasticsearch.yml, orxpack.ml.ad.enabled: falseinkibana.ymlto turn off just anomaly detection. Alternatively setxpack.reporting.enabled: falseinkibana.yml. - On Elastic Cloud, Elastic suggests adding
xpack.reporting.enabled: falseto the Kibana user settings if you cannot upgrade. - Review which users can reach Reporting and Machine Learning and trim roles to what people need.
- After patching, restart Kibana, confirm the new version through the status API, and remove any temporary feature switches you added.
Why it matters
This is a prototype pollution bug. In JavaScript, objects inherit from a shared prototype. If a request lets a caller write to properties that should never be user controlled, the change can spread to unrelated objects in the same process. Later code then reads a value the attacker influenced and does something unintended with it, which here ends in code execution.
- CWE-1321 is improperly controlled modification of object prototype attributes, known as prototype pollution. An attacker changes properties on the base object that every other object inherits.
Elastic's announcement says that on Elastic Cloud the code execution stays inside the Kibana container, and that seccomp bpf and AppArmor profiles block escape and reduce the risk. Self-hosted installs do not get those controls by default, so the impact depends on how you run Kibana. Kibana usually sits in front of data that teams care about, and it often holds credentials for the cluster behind it, so a code execution bug there deserves a quick patch even when it needs a login. The record does not mark this CVE as listed in CISA's Known Exploited Vulnerabilities catalog.
Try it yourself
See how a single advisory like this one moves from detection to a tracked fix in a vulnerability workflow.
Click through it at your own pace, or open it full screen.
Quick check
Do I need both Machine Learning and Reporting disabled to be safe?
No. Elastic says self-hosted users who cannot upgrade should disable either Machine Learning or Reporting, since the issue needs both features enabled.
Is Elastic Cloud affected?
Elastic lists Elastic Cloud deployments as affected, and notes extra container hardening limits the impact. Check the announcement for current guidance.
Sources
Last reviewed: 19 October 2026.