W platformie H2O (h2o-3) w wersjach do 3.46.0.8 włącznie istnieje krytyczna podatność deserializacji, pozwalająca nieuwierzytelnionemu atakującemu na odczyt dowolnych plików systemowych oraz zdalne wykonanie kodu. Podatność jest szczególnie niebezpieczna, ponieważ nie wymaga żadnych uprawnień ani interakcji użytkownika.
▸ Pokaż oryginał (EN)
A deserialization vulnerability exists in h2oai/h2o-3 versions <= 3.46.0.8, allowing attackers to read arbitrary system files and execute arbitrary code. The vulnerability arises from improper handling of JDBC connection parameters, which can be exploited by bypassing regular expression checks and using double URL encoding. This issue impacts all users of the affected versions.
Podatność wynika z nieprawidłowej obsługi parametrów połączenia JDBC, w których dane wejściowe podlegają sprawdzeniu za pomocą wyrażeń regularnych (regex). Atakujący może ominąć te zabezpieczenia poprzez zastosowanie podwójnego kodowania URL (double URL encoding), co pozwala na przemycenie złośliwych parametrów. Tak spreparowane dane trafiają następnie do procesu deserializacji (CWE-502), gdzie niezaufane dane są przetwarzane bez odpowiedniej walidacji, co prowadzi do wykonania dowolnego kodu po stronie serwera.
Atakujący może uzyskać pełną kontrolę nad serwerem: wykonać dowolny kod (RCE), odczytać wrażliwe pliki systemowe, a w konsekwencji przejąć lub zniszczyć przetwarzane dane oraz środowisko H2O.
Należy jak najszybciej zaktualizować H2O do wersji zawierającej poprawkę wskazaną w referencjach producenta (commit 0298ee348f5c73673b7b542158081e79605f5f25 w repozytorium GitHub). Do czasu wdrożenia patcha należy ograniczyć dostęp sieciowy do instancji H2O wyłącznie do zaufanych hostów oraz zablokować możliwość konfigurowania połączeń JDBC przez niezaufanych użytkowników.
H2O (h2o-3) we wszystkich wersjach do 3.46.0.8 włącznie
Podatność została zgłoszona za pośrednictwem platformy Huntr (bug bounty). Poprawka dostępna jako commit 0298ee348f5c73673b7b542158081e79605f5f25 w repozytorium h2oai/h2o-3.
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HH2o
APPH2O3.0.0.2 – 3.46.0.8
Powiązane podatności
RCE przez obejście blacklisty JDBC w REST API H2O-3
RCE poprzez deserializację w REST API h2oai/h2o-3 (JDBC URL)
H2O.ai H2O — RCE i odczyt plików przez niekontrolowany 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...