Summary
CVE-2026-70399 is a resource-exhaustion (CWE-770: Allocation of Resources Without Limits or Throttling) vulnerability in the inets httpd HTTP server component of Erlang/OTP. Due to a coding defect in the connection-acceptance logic, servers that do not explicitly configure the max_clients option silently accept an unlimited number of simultaneous connections instead of enforcing the documented default limit of 150. An unauthenticated remote attacker can exploit this by opening a large number of connections, causing denial of service through exhaustion of server processes, memory, and file descriptors. The issue carries a CVSS v4.0 base score of 8.7 (High).
Technical details
- Root cause: The connection accept gate in
httpd_manager:handle_new_connection/4retrieves themax_clientssetting usinghttpd_util:lookup/2(a two-argument lookup with no default), which returns the atomundefinedwhen the option is not explicitly configured, rather than falling back to the documented default of 150. - Trigger condition: Because Erlang’s standard term ordering places all integers before all atoms, the comparison
Count =< Maxevaluates as true for any connection count whenMaxisundefined. As a result, the server’s{reject, busy}safeguard never triggers, and the connection limit is effectively bypassed on anyhttpdinstance that has not explicitly setmax_clientsin its configuration. - Attack vector: Network-based, no authentication or valid HTTP request required — simply opening and holding open a large number of TCP connections to the
httpdlistener is sufficient. - Impact: High impact to availability only (no confidentiality or integrity impact); sustained connection flooding can exhaust worker processes, memory, and file descriptors, causing the server to become unresponsive or crash.
Affected software
- Erlang/OTP: versions 17.0–27.3.4.16, 28.0–28.5.0.5, and 29.0–29.0.5
- inets module (bundled with OTP): versions 5.10–9.3.2.6, 9.4–9.6.2.2, and 9.7–9.7.1
- Only deployments of the
inetshttpdserver that do not explicitly configuremax_clientsare vulnerable; servers with an explicitmax_clientssetting are not affected.
Severity
- CVSS v4.0 Base Score: 8.7 (High)
- Vector:
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Mitigation and recommended actions
- Immediate: Upgrade to the patched Erlang/OTP releases: OTP 27.3.4.17, 28.5.0.6, or 29.0.6 (corresponding
inetsversions 9.3.2.7, 9.6.2.3, or 9.7.2, respectively). - If immediate patching is not possible:
- Explicitly set
{max_clients, 150}(or a value appropriate to your capacity) in thehttpdserver configuration to restore the intended connection-limiting safeguard. - Place a reverse proxy or load balancer in front of the
httpdservice and enforce concurrent-connection limits or rate limiting at that layer. - Restrict network access to the
httpdlistener to trusted clients/networks via firewall rules where feasible.
- Explicitly set

