CVE-2026-66835
HighCVSS 8.2Summary
A vulnerability in the inets HTTP server in Erlang/OTP allows a remote unauthenticated attacker to read files in a mod_auth protected directory by prefixing the request path with an extra slash. URI normalization does not collapse double slashes, causing the path check to miss the protected directory.
Risk Assessment
An attacker can bypass authentication and access confidential files, potentially leading to data leakage or security compromise.
Recommendation
Update Erlang/OTP to a patched version (OTP 27.3.4.17, 28.5.0.6, or 29.0.6) or apply additional protections such as path validation.
Other vulnerabilities in Erlang/OTP inets
See all- CVE-2026-74994Medium
The mod_auth module in OTP's inets httpd server, when configured with dets or mnesia authentication backends and multiple directory configuration blocks, collapses all directory blocks into a single shared user/group namespace. A user added to one protected directory is accepted as valid for all other protected directories on the same server instance.
- CVE-2026-73270High
A vulnerability in the inets HTTP server in Erlang/OTP allows a remote unauthenticated attacker to read files in a mod_auth protected directory by requesting them with different casing, on case-insensitive filesystems. The path check does not use the caseless option, allowing authentication bypass.
- CVE-2026-71562Medium
The httpc module in Erlang/OTP inets has an improper validation of specified quantity vulnerability. A malicious or compromised HTTP server can degrade availability by returning a numeric header with a very long run of digits, causing expensive integer conversion.
- CVE-2026-71380High
A vulnerability in the inets HTTP server in Erlang/OTP allows a remote unauthenticated attacker to cause denial of service by sending valid headers with a large Content-Length and then stalling. The server cancels the request timeout after header parsing and does not re-arm it, leaving workers waiting indefinitely.
- CVE-2026-70399High
A vulnerability in the inets HTTP server in Erlang/OTP allows a remote unauthenticated attacker to cause denial of service by opening and holding many connections. The max_clients option is not set by default, allowing unlimited simultaneous connections, leading to resource exhaustion.
- CVE-2026-66357High
The inets HTTP server in Erlang/OTP does not implement obs-fold (header continuation lines), which may lead to HTTP request smuggling vulnerabilities. Every CRLF followed by a non-CRLF starts a new header, which can be exploited by an attacker.
Original NVD description (English source)
Path Equivalence vulnerability in Erlang/OTP inets httpd allows a remote unauthenticated attacker to read files inside a mod_auth protected directory by prefixing the request path with an extra slash. httpd_request:validate_uri/1 normalises the request URI with uri_string:normalize/1, which performs RFC 3986 dot-segment removal but does not collapse empty path segments, so a doubled slash survives. mod_alias:real_name/3 concatenates the document root with that URI, and mod_auth:secret_path/3 then decides whether the result lies inside a protected directory block by running the configured directory path as an unanchored regular expression against it. The doubled slash breaks the contiguous substring the regex needs, so the request is treated as unprotected and no authentication challenge is issued, while mod_get opens the same path and the operating system collapses the doubled slash and returns the protected file. The same path mismatch also evades the per-path accounting in mod_security. This issue affects OTP from OTP 17.0 before OTP 27.3.4.17, from OTP 28.0 before OTP 28.5.0.6, and from OTP 29.0 before OTP 29.0.6, corresponding to inets from 5.10 before 9.3.2.7, from 9.4 before 9.6.2.3, and from 9.7 before 9.7.2. Whether OTP before OTP 17.0, corresponding to inets before 5.10, is affected is unknown.

