CVE-2024-10572: H2O-3: unauthenticated AST parser enables DoS + file write
GHSA-wjpv-64v2-2qpq HIGH CISA: TRACK*H2O-3 versions up to 3.46.0.1 expose a tool invocation API with no authentication, allowing anyone on the network to shut down your ML training server or exhaust disk storage. If your teams use H2O for AutoML or distributed training, immediately firewall port 54321 (H2O default) to restrict access to trusted networks only. No patch is currently available; network isolation is the primary mitigation until a fix ships.
What is the risk?
CVSS 7.5 HIGH with no authentication, no user interaction, and a network-accessible attack vector makes this trivially exploitable by any attacker who can reach the H2O REST API port. EPSS of 0.00119 indicates limited current exploitation activity, but the zero-barrier entry lowers the risk of it remaining unexploited for long. H2O-3 is frequently deployed in data science environments with permissive network controls—shared Jupyter hubs, internal MLOps platforms, dev clusters—significantly elevating real-world exposure. The absence of a patch amplifies risk.
What systems are affected?
| Package | Ecosystem | Vulnerable Range | Patched |
|---|---|---|---|
| H2O XGBoost | maven | >= 3.34.0.1, <= 3.46.0.1 | No patch |
| H2O | pip | >= 3.34.0.1, <= 3.46.0.1 | No patch |
How severe is it?
What is the attack surface?
What should I do?
6 steps-
Immediately restrict network access to H2O's REST API port (default 54321) via firewall rules—allow only from trusted data science subnets or localhost.
-
Audit all H2O-3 deployments for internet or broad intranet exposure; treat any exposure as critical.
-
No official patch is available for versions <=3.46.0.1—monitor h2oai/h2o-3 GitHub releases and the GHSA-wjpv-64v2-2qpq advisory for fix availability.
-
Terminate H2O clusters when not actively in use to minimize exposure window.
-
Enable H2O audit logging and alert on XGBoostLibExtractTool invocations via the run_tool endpoint.
-
Consider placing H2O deployments behind an authenticated reverse proxy as an interim control until patching is possible.
What does CISA's SSVC say?
Source: CISA Vulnrichment (SSVC v2.0). Decision based on the CISA Coordinator decision tree.
How is it classified?
Which compliance frameworks are affected?
This CVE is relevant to:
Frequently Asked Questions
What is CVE-2024-10572?
H2O-3 versions up to 3.46.0.1 expose a tool invocation API with no authentication, allowing anyone on the network to shut down your ML training server or exhaust disk storage. If your teams use H2O for AutoML or distributed training, immediately firewall port 54321 (H2O default) to restrict access to trusted networks only. No patch is currently available; network isolation is the primary mitigation until a fix ships.
Is CVE-2024-10572 actively exploited?
No confirmed active exploitation of CVE-2024-10572 has been reported, but organizations should still patch proactively.
How to fix CVE-2024-10572?
1. Immediately restrict network access to H2O's REST API port (default 54321) via firewall rules—allow only from trusted data science subnets or localhost. 2. Audit all H2O-3 deployments for internet or broad intranet exposure; treat any exposure as critical. 3. No official patch is available for versions <=3.46.0.1—monitor h2oai/h2o-3 GitHub releases and the GHSA-wjpv-64v2-2qpq advisory for fix availability. 4. Terminate H2O clusters when not actively in use to minimize exposure window. 5. Enable H2O audit logging and alert on XGBoostLibExtractTool invocations via the run_tool endpoint. 6. Consider placing H2O deployments behind an authenticated reverse proxy as an interim control until patching is possible.
What systems are affected by CVE-2024-10572?
This vulnerability affects the following AI/ML architecture patterns: ML training pipelines, AutoML platforms, Distributed training clusters, Shared data science platforms, Jupyter/notebook environments with H2O backend, MLOps platforms.
What is the CVSS score for CVE-2024-10572?
CVE-2024-10572 has a CVSS v3.1 base score of 7.5 (HIGH). The EPSS exploitation probability is 0.64%.
What is the AI security impact?
Affected AI Architectures
MITRE ATLAS Techniques
AML.T0029 Denial of AI Service AML.T0049 Exploit Public-Facing Application AML.T0050 Command and Scripting Interpreter Compliance Controls Affected
What are the technical details?
Original Advisory
In h2oai/h2o-3 version 3.46.0.1, the `run_tool` command exposes classes in the `water.tools` package through the `ast` parser. This includes the `XGBoostLibExtractTool` class, which can be exploited to shut down the server and write large files to arbitrary directories, leading to a denial of service.
Exploitation Scenario
An attacker with network access to an exposed H2O-3 REST API endpoint sends a crafted unauthenticated POST request invoking XGBoostLibExtractTool via the AST parser through the run_tool command interface. No credentials or prior access are required. In a denial-of-service scenario, the attacker triggers server shutdown, killing all active training jobs on a shared ML platform—potentially wiping hours or days of GPU compute time. In a disk exhaustion scenario, the attacker writes large files to arbitrary directories (e.g., shared NFS mounts or container volumes), causing cascading failures across the ML infrastructure. On a multi-tenant data science platform, a single unauthenticated request can disrupt the entire team's workloads simultaneously.
Weaknesses (CWE)
CWE-400 Uncontrolled Resource Consumption
Primary
CWE-94 Improper Control of Generation of Code ('Code Injection')
Primary
CWE-400 — Uncontrolled Resource Consumption: The product does not properly control the allocation and maintenance of a limited resource.
- [Architecture and Design] Design throttling mechanisms into the system architecture. The best protection is to limit the amount of resources that an unauthorized user can cause to be expended. A strong authentication and access control model will help prevent such attacks from occurring in the first place. The login application should be protected against DoS attacks as much as possible. Limiting the database access, perhaps by caching result sets, can help minimize the resources expended. To further limit the potential for a DoS attack, consider tracking the rate of requests received from users and blocking requests that exceed a defined rate threshold.
- [Architecture and Design] Mitigation of resource exhaustion attacks requires that the target system either: The first of these solutions is an issue in itself though, since it may allow attackers to prevent the use of the system by a particular valid user. If the attacker impersonates the valid user, they may be able to prevent the user from accessing the server in question. The second solution is simply difficult to effectively institute -- and even when properly done, it does not provide a full solution. It simply makes the attack require more resources on the part of the attacker. recognizes the attack and denies that user further access for a given amount of time, or uniformly throttles all requests in order to make it more difficult to consume resources more quickly than they can again be freed.
Source: MITRE CWE corpus.
CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H References
Timeline
Related Vulnerabilities
CVE-2024-2912 10.0 BentoML: RCE via insecure deserialization (CVSS 10)
Same attack type: Code Execution CVE-2026-21858 10.0 n8n: Input Validation flaw enables exploitation
Same attack type: Code Execution CVE-2025-5120 10.0 smolagents: sandbox escape enables unauthenticated RCE
Same attack type: Code Execution CVE-2025-59528 10.0 Flowise: Unauthenticated RCE via MCP config injection
Same attack type: Code Execution GHSA-vvpj-8cmc-gx39 10.0 picklescan: security flaw enables exploitation
Same attack type: Code Execution