CRITICAL🇬🇧 English

CVE-2024-10190

RCE w Horovod — deserializacja pickle bez uwierzytelnienia

CVSS 9.8v3.0pub. 2025-03-20upd. 2025-12-11

Horovod w wersji do v0.28.1 włącznie zawiera krytyczną podatność umożliwiającą zdalne wykonanie kodu (RCE) bez jakiegokolwiek uwierzytelnienia. Atakujący może przejąć pełną kontrolę nad serwerem, wysyłając spreparowane żądanie HTTP.

Pokaż oryginał (EN)

Horovod versions up to and including v0.28.1 are vulnerable to unauthenticated remote code execution. The vulnerability is due to improper handling of base64-encoded data in the `ElasticRendezvousHandler`, a subclass of `KVStoreHandler`. Specifically, the `_put_value` method in `ElasticRendezvousHandler` calls `codec.loads_base64(value)`, which eventually invokes `cloudpickle.loads(decoded)`. This allows an attacker to send a malicious pickle object via a PUT request, leading to arbitrary code execution on the server.

🤖 Analiza AI
Jak działa

Podatność tkwi w klasie `ElasticRendezvousHandler`, będącej podklasą `KVStoreHandler`. Metoda `_put_value` dekoduje dane z formatu base64 poprzez `codec.loads_base64(value)`, a następnie wywołuje `cloudpickle.loads(decoded)` na uzyskanych danych. Biblioteka `cloudpickle` wykonuje deserializację bez żadnej walidacji zawartości, co oznacza, że atakujący może przesłać złośliwy obiekt pickle w żądaniu HTTP PUT. W wyniku deserializacji serwer wykonuje dowolny kod zawarty w spreparowanym payloadzie.

Skutki

Nieuwierzytelniony atakujący zdalny może wykonać dowolny kod na serwerze (RCE), co w praktyce oznacza pełne przejęcie kontroli nad maszyną, kradzież danych, instalację backdoora lub dalszy lateral movement w infrastrukturze.

Mitygacja

Należy zastosować patche dostępne u producenta zgodnie z referencjami. Zaleca się również ograniczenie dostępu sieciowego do endpointów ElasticRendezvous wyłącznie do zaufanych hostów (np. za pomocą firewall lub reguł sieciowych) jako środek tymczasowy do czasu aktualizacji.

Kogo dotyczy

Horovod we wszystkich wersjach do v0.28.1 włącznie

Uwagi

Podatność zgłoszona za pośrednictwem platformy huntr.com (bounty 3e398d1f-70c2-4e05-ae22-f5d66b19a754). Deserializacja z użyciem cloudpickle jest z natury niebezpieczna i podatna na wykonanie kodu — każde niezaufane wejście przekazywane do cloudpickle.loads() stanowi krytyczne zagrożenie.

CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
  • Horovod

    APP
    Horovod
    ≤ 0.28.1
🔵
ZWERYFIKUJ U PRODUCENTA
Brak jednoznacznych danych o patchu. Sprawdź referencje od producenta.
Tagi
RCEDeserialization
CWE
Referencje

Powiązane podatności

CVE-2022-0315HIGH7.5ten sam produkt

Insecure Temporary File in GitHub repository horovod/horovod prior to 0.24.0.

CVE-2024-10190 — RCE w Horovod — deserializacja pickle bez uwierzytelnienia — CRITICAL 9.8 | CVEbaza.pl