Podatność deserializacji w Elastic Kibana umożliwia wykonanie dowolnego kodu (RCE), gdy aplikacja przetwarza spreparowany dokument YAML. Mimo że atak wymaga określonego zestawu uprawnień, skuteczne wykorzystanie daje atakującemu pełną kontrolę nad systemem.
▸ Pokaż oryginał (EN)
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
Luka jest sklasyfikowana jako CWE-502 (Deserialization of Untrusted Data) — Kibana niepoprawnie deserializuje dane YAML, co pozwala na osadzenie w dokumencie złośliwego payload, który jest wykonywany w momencie parsowania. Aby przeprowadzić atak, złośliwy użytkownik musi posiadać jednocześnie uprawnienia Elasticsearch do zapisu na systemowych indeksach .kibana_ingest* z flagą allow_restricted_indices ustawioną na true, oraz co najmniej jedno z uprawnień Kibana: uprawnienie All w sekcji Fleet, uprawnienie Read lub All w sekcji Integration, albo dostęp do przywileju fleet-setup poprzez token konta serwisowego Fleet Server.
Skuteczny atak prowadzi do wykonania dowolnego kodu na serwerze Kibana, co może skutkować pełnym przejęciem instancji, ujawnieniem wrażliwych danych oraz naruszeniem integralności i dostępności systemu.
Należy zaktualizować Kibana do wersji 8.15.1 lub nowszej zgodnie z zaleceniami producenta opublikowanymi pod adresem https://discuss.elastic.co/t/kibana-8-15-1-security-update-esa-2024-27-esa-2024-28/366119. Dodatkowo zaleca się audyt i ograniczenie przyznawania uprawnień do zapisu na indeksach systemowych .kibana_ingest* z flagą allow_restricted_indices oraz uprawnień Fleet/Integration do niezbędnego minimum (zasada najmniejszych uprawnień).
Elastic Kibana — konkretne wersje wskazane w referencjach producenta (biuletyn bezpieczeństwa ESA-2024-27 / ESA-2024-28); według referencji dotyczy wersji przed 8.15.1
Atak wymaga posiadania bardzo specyficznej kombinacji uprawnień Elasticsearch i Kibana jednocześnie, co znacząco podnosi poprzeczkę dla potencjalnego atakującego i ogranicza powierzchnię ataku do uprzywilejowanych użytkowników wewnętrznych lub skompromitowanych kont z rozszerzonymi uprawnieniami.
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
Powiązane podatności
Kibana versions before 5.6.15 and 6.6.1 contain an arbitrary code execution flaw in the Timelion visualizer. A...
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