A deserialization issue in Kibana can lead to arbitrary code execution when Kibana attempts to parse a YAML document containing a crafted payload. A successful attack requires a malicious user to have a combination of both specific Elasticsearch indices privileges https://www.elastic.co/guide/en/elasticsearch/reference/current/defining-roles.html#roles-indices-priv and Kibana privileges https://www.elastic.co/guide/en/fleet/current/fleet-roles-and-privileges.html assigned to them. The following Elasticsearch indices permissions are required * write privilege on the system indices .kibana_ingest* * The allow_restricted_indices flag is set to true Any of the following Kibana privileges are additionally required * Under Fleet the All privilege is granted * Under Integration the Read or All privilege is granted * Access to the fleet-setup privilege is gained through the Fleet Server’s service account token
The vulnerability is classified as CWE-502 (Deserialization of Untrusted Data) — Kibana improperly deserializes YAML data, allowing malicious payload to be embedded in a document that is executed at the moment of parsing. To carry out the attack, a malicious user must simultaneously possess Elasticsearch permissions to write to system indices .kibana_ingest* with the allow_restricted_indices flag set to true, and at least one of the following Kibana permissions: All permission in the Fleet section, Read or All permission in the Integration section, or access to the fleet-setup privilege through a Fleet Server service account token.
A successful attack leads to arbitrary code execution on the Kibana server, which may result in complete instance takeover, exposure of sensitive data, and violation of system integrity and availability.
Kibana should be updated to version 8.15.1 or newer in accordance with the manufacturer's recommendations published at https://discuss.elastic.co/t/kibana-8-15-1-security-update-esa-2024-27-esa-2024-28/366119. Additionally, it is recommended to audit and limit granting write permissions on system indices .kibana_ingest* with the allow_restricted_indices flag and Fleet/Integration permissions to the minimum necessary (principle of least privilege).
Elastic Kibana — specific versions indicated in the manufacturer's references (security bulletin ESA-2024-27 / ESA-2024-28); according to references, it affects versions before 8.15.1
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:HElastic Kibana
APPElastic8.10.0 – 8.15.0
Related vulnerabilities
RCE w Kibana Timelion — wykonanie kodu z uprawnieniami procesu
Prototype Pollution w Kibana prowadzące do RCE przez HTTP
Prototype Pollution w Elastic Kibana umożliwia zdalne wykonanie kodu (RCE)
Deserializacja YAML w Kibana umożliwia zdalne wykonanie kodu (RCE)
RCE w Kibana — prototype pollution przez ML i Alerting connector