CVE-2024-10572: H2O-3: unauthenticated AST parser enables DoS + file write

GHSA-wjpv-64v2-2qpq HIGH CISA: TRACK*
Published March 20, 2025
CISO Take

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
7.5K OpenSSF 5.9 Pushed 3d ago 0% patched Full package profile →
H2O pip >= 3.34.0.1, <= 3.46.0.1 No patch
7.5K OpenSSF 5.9 26 dependents Pushed 3d ago 8% patched ~0d to patch Full package profile →

How severe is it?

CVSS 3.1
7.5 / 10
EPSS
0.6%
chance of exploitation in 30 days
Higher than 46% of all CVEs
Exploitation Status
Exploit Available
Exploitation: MEDIUM
Sophistication
Trivial
Exploitation Confidence
medium
CISA SSVC: Public PoC
Composite signal derived from CISA KEV, VulnCheck KEV, CISA SSVC, EPSS, Metasploit, Exploit-DB, trickest/cve, Nuclei templates, and inthewild.io exploitation reports.

What is the attack surface?

AV AC PR UI S C I A
AV Network
AC Low
PR None
UI None
S Unchanged
C None
I None
A High

What should I do?

6 steps
  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 does CISA's SSVC say?

Decision Track*
Exploitation poc
Automatable Yes
Technical Impact partial

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:

EU AI Act
Article 15 - Accuracy, Robustness and Cybersecurity
ISO 42001
A.9.4 - AI System Security Controls
NIST AI RMF
MANAGE 2.2 - Mechanisms to Sustain Deployed AI Systems
OWASP LLM Top 10
LLM03 - Supply Chain Vulnerabilities

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

ML training pipelinesAutoML platformsDistributed training clustersShared data science platformsJupyter/notebook environments with H2O backendMLOps platforms

MITRE ATLAS Techniques

AML.T0029 Denial of AI Service
AML.T0049 Exploit Public-Facing Application
AML.T0050 Command and Scripting Interpreter

Compliance Controls Affected

EU AI Act: Article 15
ISO 42001: A.9.4
NIST AI RMF: MANAGE 2.2
OWASP LLM Top 10: LLM03

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: 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

Timeline

Published
March 20, 2025
Last Modified
October 15, 2025
First Seen
March 24, 2026

Related Vulnerabilities