CVE-2023-6016

9.8 CRITICAL

📋 TL;DR

CVE-2023-6016 allows remote attackers to execute arbitrary code on H2O dashboard servers through insecure deserialization in the POJO model import feature. This affects any organization using vulnerable versions of H2O with the dashboard exposed. The vulnerability requires no authentication and has a critical CVSS score of 9.8.

💻 Affected Systems

Products:
  • H2O
Versions: Versions prior to 3.44.0.1
Operating Systems: All platforms running H2O
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects systems with H2O dashboard accessible and POJO model import feature enabled.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete server compromise leading to data theft, lateral movement, ransomware deployment, or persistent backdoor installation.

🟠

Likely Case

Remote code execution leading to data exfiltration, cryptocurrency mining, or botnet recruitment.

🟢

If Mitigated

Attack blocked at network perimeter or through input validation, resulting in no impact.

🌐 Internet-Facing: HIGH - Exploitation requires no authentication and can be performed remotely.
🏢 Internal Only: MEDIUM - Still dangerous if internal attackers exist, but reduces external attack surface.

🎯 Exploit Status

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

Proof-of-concept exploit is publicly available on huntr.com. Exploitation is straightforward due to insecure deserialization.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.44.0.1

Vendor Advisory: https://huntr.com/bounties/83dd17ec-053e-453c-befb-7d6736bf1836

Restart Required: Yes

Instructions:

1. Upgrade H2O to version 3.44.0.1 or later. 2. Restart the H2O service. 3. Verify the dashboard is no longer vulnerable.

🔧 Temporary Workarounds

Disable POJO Model Import

all

Disable the vulnerable POJO model import feature if not required.

Modify H2O configuration to disable POJO import feature

Network Access Control

all

Restrict access to H2O dashboard to trusted IP addresses only.

Configure firewall rules to limit dashboard access

🧯 If You Can't Patch

  • Implement strict network segmentation to isolate H2O servers from sensitive systems
  • Deploy web application firewall (WAF) with deserialization attack detection rules

🔍 How to Verify

Check if Vulnerable:

Check H2O version. If version is below 3.44.0.1 and dashboard is accessible, assume vulnerable.

Check Version:

Check H2O dashboard interface or configuration files for version information

Verify Fix Applied:

Verify H2O version is 3.44.0.1 or higher and test POJO import functionality.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POJO model import attempts
  • Large serialized object uploads
  • Java deserialization errors

Network Indicators:

  • HTTP POST requests to POJO import endpoints with serialized Java objects

SIEM Query:

source="h2o" AND (event="pojo_import" OR event="deserialization")

🔗 References

📤 Share & Export