Safeguard
Vulnerability Analysis•

CVE-2025-25014: Critical Prototype Pollution in Kibana

CVE-2025-25014 is a critical Kibana prototype pollution bug leading to code execution. Upgrade to 8.17.6, 8.18.1 or 9.0.1, or disable Reporting or ML.

Safeguard Security Team
4 min read

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

  1. Upgrade Kibana to 8.17.6, 8.18.1 or 9.0.1, whichever matches your current line.
  2. If you cannot upgrade today and run self-hosted Kibana, disable one of the two features. Elastic says to set xpack.ml.enabled: false in elasticsearch.yml, or xpack.ml.ad.enabled: false in kibana.yml to turn off just anomaly detection. Alternatively set xpack.reporting.enabled: false in kibana.yml.
  3. On Elastic Cloud, Elastic suggests adding xpack.reporting.enabled: false to the Kibana user settings if you cannot upgrade.
  4. Review which users can reach Reporting and Machine Learning and trim roles to what people need.
  5. 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.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.