H2O.ai H2O w wersji do 3.46.0.4 włącznie pozwala atakującemu na dowolne ustawienie parametru JDBC URL, co prowadzi do zdalnego wykonania kodu (RCE), odczytu plików oraz ataków deserialization. Podatność jest szczególnie niebezpieczna, ponieważ nie wymaga uwierzytelnienia ani interakcji ze strony użytkownika.
▸ Pokaż oryginał (EN)
H2O.ai H2O through 3.46.0.4 allows attackers to arbitrarily set the JDBC URL, leading to deserialization attacks, file reads, and command execution. Exploitation can occur when an attacker has access to post to the ImportSQLTable URI with a JSON document containing a connection_url property with any typical JDBC Connection URL attack payload such as one that uses queryInterceptors.
Atakujący wysyła żądanie HTTP POST do endpointu ImportSQLTable, dostarczając dokument JSON zawierający właściwość connection_url z dowolnym złośliwym JDBC Connection URL — np. takim, który wykorzystuje mechanizm queryInterceptors. Platforma H2O nie weryfikuje ani nie ogranicza wartości tego parametru, co umożliwia skierowanie połączenia do kontrolowanego przez atakującego serwera lub użycie payloadów deserializacji. W wyniku przetworzenia spreparowanego URL dochodzi do deserialization niezaufanych danych (CWE-502), co pozwala na wykonanie arbitralnego kodu lub odczyt plików z serwera.
Atakujący może uzyskać pełną kontrolę nad serwerem poprzez zdalne wykonanie kodu (RCE) oraz odczytać dowolne pliki dostępne z poziomu procesu aplikacji. Możliwe jest całkowite skompromitowanie poufności i integralności systemu.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Tymczasowo zaleca się ograniczenie dostępu do endpointu ImportSQLTable na poziomie firewall lub mechanizmów uwierzytelniania, tak aby uniemożliwić nieautoryzowanym użytkownikom wysyłanie żądań POST do tego URI.
H2O.ai H2O w wersjach do 3.46.0.4 włącznie
W referencjach opublikowano publiczny proof-of-concept (gist.github.com/AfterSnows) oraz szczegółowy opis techniczny podatności jako 'Unauthenticated Remote Code Execution via Unrestricted JDBC Connection', co podnosi realne ryzyko eksploatacji mimo braku wpisu w CISA KEV.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NH2o
APPH2O≤ 3.46.0.4
Powiązane podatności
RCE przez obejście blacklisty JDBC w REST API H2O-3
Deserializacja w H2O umożliwia RCE i odczyt plików systemowych
RCE poprzez deserializację w REST API h2oai/h2o-3 (JDBC URL)
An attacker is able to gain remote code execution on a server hosting the H2O dashboard through it's POJO mode...
A vulnerability in the `/3/ParseSetup` endpoint of h2oai/h2o-3 version 3.46.0.1 allows for a denial of service...