CVE-2024-6863

6.5 MEDIUM

📋 TL;DR

This vulnerability in h2oai/h2o-3 version 3.46.0 exposes an endpoint that allows attackers to encrypt arbitrary files on the server with custom keys, which can then be overwritten, creating ransomware-like conditions. This affects organizations using the vulnerable version of h2o-3 machine learning platform. Attackers can render files inaccessible by encrypting them with unknown keys.

💻 Affected Systems

Products:
  • h2oai/h2o-3
Versions: Version 3.46.0
Operating Systems: All platforms running h2o-3
Default Config Vulnerable: ⚠️ Yes
Notes: The vulnerable EncryptionTool endpoint appears to be part of the default installation in version 3.46.0.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Critical system files are encrypted with unknown keys, causing complete system unavailability and requiring restoration from backups or complete system rebuild.

🟠

Likely Case

Data files, configuration files, or application files are encrypted, disrupting operations and requiring file restoration from backups.

🟢

If Mitigated

Limited impact to non-critical files if proper access controls and monitoring are in place.

🌐 Internet-Facing: HIGH - If the vulnerable endpoint is exposed to the internet, attackers can directly exploit it without internal access.
🏢 Internal Only: MEDIUM - Internal attackers or compromised internal systems could exploit this to encrypt files on the server.

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

The vulnerability is publicly documented with technical details, making exploitation straightforward for attackers with access to the endpoint.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: Version 3.46.0.1 or later

Vendor Advisory: https://github.com/h2oai/h2o-3/security/advisories

Restart Required: Yes

Instructions:

1. Stop the h2o-3 service. 2. Update to version 3.46.0.1 or later using package manager or manual installation. 3. Restart the h2o-3 service. 4. Verify the update was successful.

🔧 Temporary Workarounds

Disable or restrict access to EncryptionTool endpoint

all

Configure firewall rules or application settings to block access to the vulnerable endpoint.

# Example firewall rule for Linux: iptables -A INPUT -p tcp --dport [h2o-port] -m string --string "EncryptionTool" --algo bm -j DROP

Network segmentation and access controls

all

Restrict network access to h2o-3 service to only trusted IP addresses or networks.

# Example: iptables -A INPUT -p tcp --dport [h2o-port] -s [trusted-ip-range] -j ACCEPT
# iptables -A INPUT -p tcp --dport [h2o-port] -j DROP

🧯 If You Can't Patch

  • Implement strict network access controls to limit who can reach the h2o-3 service
  • Monitor file system changes and encryption activity for suspicious patterns

🔍 How to Verify

Check if Vulnerable:

Check if h2o-3 version is exactly 3.46.0 by examining the service version or package information.

Check Version:

h2o --version or check the h2o-3 package version via system package manager

Verify Fix Applied:

Verify the version is 3.46.0.1 or later and test that the EncryptionTool endpoint is no longer accessible or functional.

📡 Detection & Monitoring

Log Indicators:

  • Unusual access patterns to EncryptionTool endpoints
  • File encryption operations in system logs
  • Multiple file modification events in short timeframes

Network Indicators:

  • HTTP requests to EncryptionTool-related endpoints
  • Unusual traffic patterns to h2o-3 service ports

SIEM Query:

source="h2o.log" AND ("EncryptionTool" OR "encrypt" OR "decrypt") AND NOT user="authorized_user"

🔗 References

📤 Share & Export