H2O.ai H2O-3 Deserialization Vulnerability in JDBC Connections Allowing Arbitrary Code Execution and File Access
Vulnerability
A deserialization vulnerability has been identified in the H2O.ai H2O-3 repository, specifically in the latest master branch version 3.47.0.99999. This vulnerability allows attackers to exploit the deserialization of untrusted data, potentially leading to arbitrary code execution and unauthorized access to system files. The issue arises from the ability to bypass regular expression filters designed to prevent malicious parameter injection in JDBC connections. Attackers can manipulate spaces between parameters to evade detection, exploiting the vulnerability to read sensitive files and execute arbitrary commands on the system.
Impact
Exploitation of this vulnerability allows for arbitrary code execution and unauthorized reading of system files.
Reproduction
The vulnerability can be reproduced by sending a POST request to the '/99/ImportSQLTable' endpoint. The 'connection_url' parameter must be crafted to include malicious JDBC parameters, such as 'autoDeserialize=true' and 'allowLoadLocalInfile=true', while manipulating spaces to bypass regular expression filters. This crafted JDBC connection can then be used to exploit the deserialization vulnerability, leading to arbitrary code execution.
Remediation
Users are advised to update to H2O-3 version 3.46.0.8, where this vulnerability has been fixed.
Vulnerability Rating
Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.
