CVE-2024-7765
📋 TL;DR
This vulnerability in h2oai/h2o-3 allows attackers to cause denial of service by uploading specially crafted large GZIP files. The server becomes unresponsive due to memory exhaustion and excessive concurrent slow-running jobs. Organizations using h2o-3 version 3.46.0.2 for machine learning operations are affected.
💻 Affected Systems
- h2oai/h2o-3
📦 What is this software?
H2o by H2o
⚠️ Risk & Real-World Impact
Worst Case
Complete service outage with server becoming completely unresponsive, requiring manual intervention and restart, potentially disrupting critical ML workflows and production systems.
Likely Case
Degraded performance and intermittent service disruptions affecting ML model training and inference capabilities, leading to operational delays.
If Mitigated
Minimal impact with proper file upload controls and monitoring in place, potentially causing temporary performance degradation but no complete outage.
🎯 Exploit Status
Exploitation requires ability to upload files to the h2o-3 instance. The vulnerability leverages data amplification through improper GZIP handling.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: Version 3.46.0.3 or later
Vendor Advisory: https://huntr.com/bounties/0e58b1a5-bdca-4e60-af92-09de9c76a9ff
Restart Required: No
Instructions:
1. Upgrade h2o-3 to version 3.46.0.3 or later. 2. Update using pip: pip install h2o==3.46.0.3. 3. Verify the upgrade completed successfully.
🔧 Temporary Workarounds
Restrict File Uploads
allImplement strict file upload controls and validation to prevent large GZIP files from being processed.
Resource Limiting
allConfigure memory limits and job concurrency restrictions to prevent resource exhaustion.
🧯 If You Can't Patch
- Implement strict file upload validation to reject large GZIP files
- Deploy rate limiting and monitoring for file upload endpoints
🔍 How to Verify
Check if Vulnerable:
Check if h2o-3 version is exactly 3.46.0.2. Review system logs for memory exhaustion events or slow job processing.
Check Version:
python -c "import h2o; print(h2o.__version__)"
Verify Fix Applied:
Verify h2o-3 version is 3.46.0.3 or later. Test file upload functionality with various GZIP files to ensure stability.
📡 Detection & Monitoring
Log Indicators:
- Memory exhaustion warnings
- Slow job processing alerts
- High CPU usage spikes
- File upload failures
Network Indicators:
- Unusually large file uploads to h2o-3 endpoints
- Increased network traffic to ML service
SIEM Query:
source="h2o-3" AND ("memory" OR "slow" OR "upload") AND severity>=WARNING