CVE-2024-5550 Overview
CVE-2024-5550 is an information disclosure vulnerability in h2oai/h2o-3 version 3.40.0.4. The flaw resides in the Typeahead API, which performs arbitrary system path lookups without access restrictions. A remote unauthenticated attacker can submit a typeahead lookup with / as the query and receive a listing of the root filesystem on the host running h2o-3. This exposes sensitive directories including /home, /usr, and /bin. The disclosure enables attackers to map the entire filesystem structure and locate configuration files, credentials, and application binaries. Combined with a Local File Inclusion (LFI) primitive, the vulnerability facilitates targeted file retrieval and further server compromise.
Critical Impact
Unauthenticated remote attackers can enumerate the full filesystem of h2o-3 hosts through the Typeahead API, exposing sensitive paths and enabling follow-on attacks.
Affected Products
- h2oai h2o-3 version 3.40.0.4
- H2O machine learning platform deployments exposing the Typeahead API
- Any environment hosting h2o-3 with network reachability to unauthenticated clients
Discovery Timeline
- 2024-06-06 - CVE-2024-5550 published to the National Vulnerability Database
- 2026-06-17 - Last updated in NVD database
Technical Details for CVE-2024-5550
Vulnerability Analysis
The vulnerability is a Path Traversal weakness tracked as [CWE-22]. The h2o-3 Typeahead API is designed to assist users by autocompleting filesystem paths when configuring data imports or model artifacts. The endpoint accepts a path prefix and returns matching directory entries from the underlying operating system. The implementation performs no authentication check and applies no allowlist restricting which portions of the filesystem may be enumerated. Submitting / returns the top-level directories of the host, and iterative queries expose the full directory tree. The disclosed information includes user home directories, system binary locations, and any writable staging paths used by the application. Attackers use this map to locate SSH keys, environment files, and application configuration containing database credentials. When paired with a file read primitive, the attacker converts filesystem enumeration into targeted exfiltration.
Root Cause
The Typeahead endpoint exposes an operating system directory listing function to unauthenticated network clients without validating the requested path against an allowlist. The absence of both authentication and path scoping allows the caller to traverse outside any intended data directory and enumerate the root filesystem.
Attack Vector
Exploitation occurs over the network against the h2o-3 HTTP API. An attacker issues a GET request to the Typeahead endpoint with the path parameter set to / or another target directory. The server responds with the directory contents, and the attacker recursively queries subdirectories to build a complete filesystem map. No user interaction, authentication, or privileged access is required. See the Huntr Bounty Listing for the original disclosure details.
Detection Methods for CVE-2024-5550
Indicators of Compromise
- HTTP requests to the h2o-3 Typeahead API endpoint with path parameters set to /, /home, /root, or other system directories
- High-frequency Typeahead requests from a single source enumerating nested directory paths
- Access log entries showing Typeahead queries originating from external or non-analyst IP addresses
Detection Strategies
- Inspect h2o-3 access logs for Typeahead API calls containing root-level or system path prefixes
- Correlate Typeahead enumeration activity with subsequent requests to file import or model load endpoints that reference discovered paths
- Alert on unauthenticated API calls to h2o-3 from outside expected analyst network ranges
Monitoring Recommendations
- Forward h2o-3 web server and application logs to a centralized analytics platform for retention and correlation
- Baseline normal Typeahead usage patterns and alert on deviations in request volume or path depth
- Monitor network flows to h2o-3 instances for unexpected external connections
How to Mitigate CVE-2024-5550
Immediate Actions Required
- Restrict network access to h2o-3 instances so that only trusted analyst subnets can reach the API
- Place h2o-3 behind an authenticating reverse proxy that enforces access controls on the Typeahead endpoint
- Review access logs for prior Typeahead enumeration activity and rotate credentials found in any exposed configuration files
Patch Information
No fixed version is listed in the enriched NVD data at the time of publication. Consult the Huntr Bounty Listing and the h2oai project release notes for the current status of a vendor patch. Upgrade to any release later than 3.40.0.4 that documents a fix for the Typeahead path disclosure.
Workarounds
- Block external access to the Typeahead API path at the reverse proxy or web application firewall
- Run h2o-3 inside a container or chroot environment that limits filesystem visibility to a dedicated data directory
- Enforce network segmentation so h2o-3 hosts cannot be reached directly from untrusted networks
# Example nginx configuration blocking unauthenticated Typeahead access
location /3/Typeahead {
allow 10.0.0.0/8;
deny all;
auth_basic "h2o-3 restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://h2o3_backend;
}
Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

