Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify exposed inets httpd TCP listen port
-
DeliveryOpen flood of concurrent TCP connections
-
ExploitHold each connection open without sending HTTP request
-
ExecutionSaturate Erlang worker process pool
-
PersistExhaust node memory and OS file descriptors
-
ImpactService denial achieved
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Resource allocation limits
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The vulnerability requires only that the target system runs Erlang/OTP's inets httpd component and has not explicitly set the max_clients option in its httpd configuration block. Establishing a TCP connection to the httpd listen port is sufficient; no valid HTTP request body, no HTTP headers, no authentication credential, and no session state are required - the accept path is triggered before any application-layer parsing occurs. The single, concrete limiting condition is the absence of an explicit max_clients integer value in configuration: any server that has set this option - regardless of the value - is fully protected, because the correctly-typed integer takes the safe code path. The vulnerability has been present since OTP 17.0, so long-running deployments that were provisioned before hardening guidance existed are at elevated risk. Attack impact is limited to availability of the inets httpd process and the hosting Erlang node; there is no confidentiality or integrity exposure. |
| Impact | The CVSS 4.0 base score of 8.7 (AV:N/AC:L/AT:N/PR:N/UI:N/VA:H) accurately captures the threat model: no authentication, no special network positioning, and no user interaction are required, with availability as the sole impact. No EPSS score was provided, preventing quantified exploitation-probability assessment, but the attack requires only a TCP connection loop achievable with commodity tooling, making empirical probability likely non-trivial. No CISA KEV listing or public proof-of-concept was identified at time of analysis, suggesting exploitation has not been widely observed. The critical limiting factor is that only servers lacking an explicit max_clients configuration are vulnerable; this is a misconfiguration by omission that has existed since OTP 17.0, meaning long-running deployments that predate the inets hardening guide are the primary risk population. Operators who have followed the hardening guide are fully protected by their existing configuration, so real-world exposure is narrower than the CVSS score alone implies. The risk-to-effort ratio for exploitation is high - a complete DoS requires no specialised knowledge - making this a genuine operational priority for affected deployments. |
| Exploit ScenarioDerived | An attacker opens a large number of concurrent TCP connections to a publicly exposed Erlang/OTP inets httpd server that has not explicitly configured max_clients, holding each connection open without transmitting any HTTP request. Because the connection-count guard unconditionally accepts every connection due to the Erlang term-ordering bug, the server spawns a worker process and allocates a socket per accepted connection until the Erlang node exhausts its process table, available memory, or operating-system file descriptor limit, rendering the service completely unresponsive to legitimate clients. No public exploit code has been identified at time of analysis, but the attack requires only a basic TCP connection-flooding script executable with standard tooling. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 01, 2026
Unauthenticated denial of service in Erlang/OTP's inets httpd allows any remote attacker to exhaust a server's process pool, memory, and file descriptors by holding open an unlimited number of TCP connections. The flaw affects all inets httpd deployments across OTP 17.x through 29.x that do not explicitly configure the max_clients option; when that option is absent, a type-comparison defect caused by Erlang's term-ordering rules makes the connection-count guard unconditionally pass, accepting connections without bound. Vendor patches are available in OTP 27.3.4.17, 28.5.0.6, and 29.0.6; no public exploit code or CISA KEV listing has been identified at time of analysis.
RemediationAI
Upgrade to OTP 27.3.4.17, OTP 28.5.0.6, or OTP 29.0.6 (corresponding to inets 9.3.2.7, 9.6.2.3, or 9.7.2 respectively) as the primary fix; upstream patch commits are available at https://github.com/erlang/otp/commit/d94a94c96eb4cccbd6f7d7da5975f0c035b69612, https://github.com/erlang/otp/commit/6746dc4e1df5257ad8ac91cbbd167cb8b0274ce7, and https://github.com/erlang/otp/commit/e0050fc00c500a4fa9ba1f594603c787ff6d20b2. As an immediate compensating control that does not require an upgrade, explicitly set max_clients in the inets httpd configuration - for example {max_clients, 150} - which completely eliminates the vulnerability because a configured integer value is applied correctly by the existing code path and bypasses the defective lookup branch. Network-layer controls such as rate-limiting concurrent TCP connections per source IP via a firewall or load balancer reduce exposure from single-source attacks but do not protect against distributed flooding. Operators on OTP releases below 17.0 are on unsupported trains; migration to a supported and patched release is the only reliable remediation path. The full security advisory is at https://github.com/erlang/otp/security/advisories/GHSA-pwvh-c689-f8q5.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Erlang/OTP's built-in inets application includes httpd, a lightweight HTTP server implemented in pure Erlang. The vulnerability is rooted in CWE-770 (Allocation of Resources Without Limits or Throttling) and is triggered by a defect in httpd_manager.erl's handle_new_connection function. The 2-argument form httpd_util:lookup(Db, max_clients) returns the Erlang atom 'undefined' when max_clients is absent from the configuration database, rather than the integer 150 documented as the default. Erlang's term-ordering specification places all integers before all atoms in comparisons, so the guard Count =< Max evaluates to true for any integer Count when Max is the atom 'undefined', making the server unconditionally accept every incoming connection. The 3-argument form httpd_util:lookup(Db, max_clients, 150) used in the adjacent get_ustate/2 function would have returned the correct default, exposing the inconsistency. The patch introduces an ?HTTP_MAX_CLIENTS macro (150) defined in http_internal.hrl and switches handle_new_connection to the 3-argument lookup form. Affected CPE strings (cpe:2.3:a:erlang:otp:*:*:*:*:*:*:*:*) cover the erlang:otp package across all three affected release trains.
Know when Erlang gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
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
Network-reachable with no authentication or user interaction; sole impact is availability via unbounded resource exhaustion, scope unchanged within the Erlang node.
AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Primary rating from Vendor (EEF).
CVSS VectorVendor: EEF
DescriptionCVE.org
Allocation of Resources Without Limits or Throttling vulnerability in Erlang/OTP inets httpd allows an unauthenticated remote attacker to cause denial of service by opening and holding open a large number of connections. The max_clients option is documented to default to 150, and the inets hardening guide presents that limit as the first layer of denial-of-service defence, but a server that does not set it explicitly accepts an unlimited number of simultaneous connections. Establishing the connections is sufficient; no valid request and no authentication are required.
The accept gate in httpd_manager:handle_new_connection/4 reads the option with httpd_util:lookup/2, which returns undefined when the key is absent, rather than the three-argument form carrying the 150 default that the neighbouring get_ustate/2 uses. Erlang term ordering places every integer before every atom, so the Count =< Max guard holds for any connection count and the server never returns {reject, busy}. Each accepted connection occupies a worker process and a socket for as long as it is held, driving the node towards process, memory and file descriptor exhaustion. Servers that set max_clients explicitly are unaffected, because a configured value is applied as intended.
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.
Technical POC Analysis
CWE-770 (Allocation of Resources Without Limits or Throttling), specifically a type-comparison defect that silently disables a documented default.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Erlang/OTP inets httpd contains an unauthenticated denial-of-service vulnerability (CVE-2026-70399, CVSS 8.7) that enables any remote attacker to exhaust server resources and take down web services through unlimited TCP connections. Organizations running Erlang/OTP versions 17.x-29.x with default configurations on internet-facing systems face immediate service availability risk. Patches are available in OTP 27.3.4.17, 28.5.0.6, and 29.0.6, requiring prioritized deployment.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
Erlang/OTP SSH server allows unauthenticated remote code execution by exploiting a flaw in SSH protocol message handling
The Erlang otp TLS server answers with different TLS alerts to different error types in the RSA PKCS #1 1.5 padding. Rat
The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot
Rebar3 versions 3.0.0-beta.3 to 3.13.2 are vulnerable to OS command injection via URL parameter of dependency specificat
Multiple CRLF injection vulnerabilities in the FTP module in Erlang/OTP R15B03 allow context-dependent attackers to inje
A local privilege escalation vulnerability was discovered in Erlang/OTP prior to version 23.2.3. Rated high severity (CV
An issue was discovered in Erlang/OTP 18.x. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitab
In Erlang/OTP before 23.3.4.15, 24.x before 24.3.4.2, and 25.x before 25.0.2, there is a Client Authentication Bypass in
Erlang/OTP's ssl application in affected releases (OTP 22.2 through the fixed 27.3.4.18, 28.5.0.7 and 29.1.1) will compl
RabbitMQ brokers that use the OAuth2 plugin can silently fall back to disabled TLS certificate verification when no CA b
TLS client-authentication bypass in the RabbitMQ trust-store plugin lets a remote unauthenticated attacker whose forged
An on-path attacker can force an Erlang/OTP TLS 1.2 or DTLS client to accept an anonymous cipher suite not offered by th
Same technique Denial Of Service
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Module for Server Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| openSUSE Leap 16.0 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP5 | Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Enterprise Storage 7 | Affected |
| SUSE Enterprise Storage 7.1 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP2 | Affected |
| SUSE Linux Enterprise Module for Server Applications 15 SP3 | Affected |
| SUSE Linux Enterprise Real Time 15 SP2 | Affected |
| SUSE Linux Enterprise Real Time 15 SP3 | Affected |
| SUSE Linux Enterprise Real Time 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP2 | Affected |
| SUSE Linux Enterprise Server 15 SP2-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP2-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP3 | Affected |
| SUSE Linux Enterprise Server 15 SP3-BCL | Affected |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP2 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Affected |
| SUSE Manager Proxy 4.1 | Affected |
| SUSE Manager Proxy 4.2 | Affected |
| SUSE Manager Proxy 4.3 | Affected |
| SUSE Manager Proxy LTS 4.3 | Affected |
| SUSE Manager Retail Branch Server 4.1 | Affected |
| SUSE Manager Retail Branch Server 4.2 | Affected |
| SUSE Manager Retail Branch Server 4.3 | Affected |
| SUSE Manager Retail Branch Server LTS 4.3 | Affected |
| SUSE Manager Server 4.1 | Affected |
| SUSE Manager Server 4.2 | Affected |
| SUSE Manager Server 4.3 | Affected |
| SUSE Manager Server LTS 4.3 | Affected |
| openSUSE Leap 15.3 | Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
| openSUSE Leap 15.6 | Affected |
EUVD-2026-69223
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB