JFrog Security Research
< Back

JFSA-2024-001035518 - H2O Model Deserialization RCE

CVE-2024-6960 | CVSS 7.5

JFrog Severity:high

Discovered ByOri Hollanderof the JFrog Security Research Team

Published 21 Jul, 2024 | Last updated 21 Jul, 2024

H2O deserializes ML models without filtering, potentially allowing execution of malicious code

h2o-core

(,)

The H2O machine learning platform uses "Iced" classes as the primary means of moving Java Objects around the cluster. The Iced format supports inclusion of serialized Java objects. When a model is deserialized, any class is allowed to be deserialized (no class whitelist). An attacker can construct a crafted Iced model that uses Java gadgets and leads to arbitrary code execution when imported to the H2O platform.

An appropriate malicious serialized object can be created with the ysoserial tool, using the CommonsBeanutils1 payload.

The serialized binary can then be embedded within an Iced model in the proper format.

Loading the model using the Web UI's "Import Model" command (or an equivalent API) will trigger code execution

No mitigations are supplied for this issue

No references are supplied for this issue

< Back