CVE-2024-6854

7.1 HIGH

📋 TL;DR

This vulnerability in h2oai/h2o-3 version 3.46.0 allows attackers to export trained models to arbitrary locations on the server's filesystem, overwriting existing files. While attackers cannot control the content of the overwritten files, this can disrupt system operations or cause denial of service. Organizations using h2o-3 version 3.46.0 for machine learning model management are affected.

💻 Affected Systems

Products:
  • h2oai/h2o-3
Versions: Version 3.46.0
Operating Systems: All operating systems running h2o-3
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with the model export endpoint accessible and enabled.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Critical system files are overwritten with model data, causing system crashes, data loss, or service disruption that requires complete system restoration.

🟠

Likely Case

Application files or configuration files are overwritten, causing service interruptions or application failures that require manual intervention to restore.

🟢

If Mitigated

With proper access controls and monitoring, impact is limited to non-critical files with minimal service disruption.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: UNKNOWN
Unauthenticated Exploit: ✅ No
Complexity: MEDIUM

Exploitation requires access to the model export functionality and knowledge of target file paths.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version 3.46.0.1 or later

Vendor Advisory: https://huntr.com/bounties/97d013f9-ac51-4c80-8dd7-8dfde11f33b2

Restart Required: No

Instructions:

1. Update h2o-3 to version 3.46.0.1 or later using pip: 'pip install h2o==3.46.0.1' 2. Verify the update completed successfully 3. Test model export functionality

🔧 Temporary Workarounds

Restrict model export endpoint access

all

Implement network-level or application-level access controls to restrict who can access the model export functionality.

Implement file path validation

all

Add server-side validation to restrict export locations to safe directories only.

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate h2o-3 instances from critical systems
  • Deploy file integrity monitoring to detect unauthorized file modifications

🔍 How to Verify

Check if Vulnerable:

Check if running h2o-3 version 3.46.0 by examining package version or application logs.

Check Version:

python -c "import h2o; print(h2o.__version__)"

Verify Fix Applied:

Verify h2o-3 version is 3.46.0.1 or later and test that model exports are restricted to designated directories.

📡 Detection & Monitoring

Log Indicators:

  • Unusual model export requests
  • File system write errors in unexpected locations
  • Failed export attempts to restricted paths

Network Indicators:

  • HTTP requests to model export endpoints with unusual file paths
  • Increased traffic to export functionality

SIEM Query:

source="h2o-3" AND (event="model_export" OR event="file_write") AND path NOT CONTAINS "/safe/export/directory/"

🔗 References

📤 Share & Export