Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconPosition as or redirect client to attacker-controlled HTTP server
-
DeliveryClient invokes httpc:request to target URL
-
ExploitServer returns HTTP response with 100,000+ oversized headers
-
Installhttpc_response:parse_headers/6 accumulates all headers into BEAM process heap
-
C2Process memory grows to 13+ GB
-
ExecuteSystem OOM or BEAM VM crash
-
ImpactErlang node denial of service
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 target application must invoke httpc:request/4 or httpc:request/5 - Erlang/OTP's built-in HTTP client - and connect to a server the attacker can control, redirect to, or intercept via man-in-the-middle. No authentication to the Erlang application is required; the vulnerability is entirely client-side, triggered by the server's response. The default configuration (max_header_size set to nolimit) is vulnerable without any operator action. Applications running unpatched OTP versions that have explicitly set max_header_size to a positive integer on every httpc:request call would be protected, but because nolimit is the historic default, nearly all unpatched deployments are exposed. Exploitation is not possible against applications that exclusively contact trusted internal servers that the attacker cannot reach or influence. |
| Impact | The CVSS 4.0 score of 8.2 with AV:N/AC:L/AT:P/PR:N/UI:N/VA:H accurately reflects the threat profile: no authentication is required and the attack is network-delivered from any server the application contacts, but AT:P (attack requirements present) captures the prerequisite that an attacker must control or impersonate a reachable server. The sole impact is availability (VA:H); confidentiality and integrity are unaffected. No EPSS data was provided and this CVE is absent from CISA KEV, indicating no confirmed widespread active exploitation at time of analysis. Despite the lack of KEV listing, real-world risk is elevated because the detailed PoC (quantities and timing) is embedded in the official advisory, dramatically lowering the exploitation barrier for any attacker who can position themselves as or redirect to a server the Erlang application calls. Risk is highest for Erlang and Elixir applications that issue outbound HTTP requests to user-supplied, third-party, or otherwise untrusted URLs; applications restricted to controlled internal endpoints are significantly less exposed. |
| Exploit ScenarioDerived | An attacker operates or compromises an HTTP server reachable by the target Erlang application, or performs an HTTP redirect or man-in-the-middle substitution to point the client at a malicious endpoint. The server responds to any httpc request with 100,000 HTTP headers each containing approximately 4,000 bytes of arbitrary data. Within 30 seconds the BEAM process heap exhausts available system RAM (13+ GB in the documented PoC), causing the Erlang node to crash and denying service to all applications hosted on it. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 01, 2026
Unbounded memory exhaustion in the Erlang/OTP inets httpc HTTP client allows any server the client connects to - including via redirect or man-in-the-middle - to crash the BEAM VM by returning an arbitrarily large volume of response headers. The root cause is that max_header_size defaults to the atom nolimit and the header accumulation loop in httpc_response:parse_headers/6 collects all header data into an in-process list before any size check fires. A proof-of-concept server delivering 100,000 headers of ~4,000 bytes each consumed over 13 GB of RAM in under 30 seconds; no public exploit code has been separately released but the PoC is embedded in the official advisory, and vendor patches are available for OTP 27, 28, and 29 branches.
RemediationAI
Upgrade to a fixed OTP release: 27.3.4.17 or later, 28.5.0.6 or later, or 29.0.6 or later (corresponding to inets 9.3.2.7, 9.6.2.3, or 9.7.2). Upstream patch commits are at https://github.com/erlang/otp/commit/aba0fe8c2d700bf4ac94607cf7f00e53bbe4042d and https://github.com/erlang/otp/commit/e3be1cfe9f6cedd0cd20d9905e05601dfb31c8aa; packaged release versions should be confirmed via https://www.erlang.org/doc/system/versions.html before deployment. The max_header_size and max_body_size options were introduced as part of this fix and are not available on unpatched versions, so there is no direct in-process workaround on older releases. As a network-level compensating control for environments that cannot immediately patch, route all outbound httpc traffic through an HTTP proxy that enforces response-header size limits (e.g., nginx with large_client_header_buffers capped); this adds latency and introduces a new single point of failure but prevents unbounded header accumulation at the BEAM process. Additionally, restricting httpc calls to known-safe internal endpoints via egress firewall policy eliminates the attack surface for external-server scenarios, at the cost of any functionality requiring external HTTP access.
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
CWE-770 (Allocation of Resources Without Limits or Throttling) manifests in lib/inets/src/http_client/httpc_response.erl within Erlang/OTP's bundled inets library. The parse_headers/6 function accumulates every incoming header line into a growing list on the BEAM process heap; the length guard intended to enforce max_header_size is evaluated only after the terminating CRLF CRLF sequence arrives, meaning the full header payload is already in memory before any limit is enforced. Because max_header_size defaulted to the atom nolimit, no ceiling existed in practice. The BEAM VM allocates heap per lightweight process, so the httpc client process grows without bound until the OS OOM killer or the BEAM scheduler terminates the node. CPE cpe:2.3:a:erlang:otp:*:*:*:*:*:*:*:* covers the three affected release trains (17.x, 28.x, 29.x). The patch commits (aba0fe8c, e3be1cfe) rewrite request_options_defaults to set max_header_size to the constant HTTP_MAX_HEADER_SIZE (10,240 bytes, matching the httpd server default) and add a parallel max_body_size guard, wiring both limits into httpc_handler.erl so they are checked incrementally during receipt.
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:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Network-reachable with no authentication required; sole impact is availability via BEAM VM crash; no confidentiality or integrity loss.
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Primary rating from Vendor (EEF).
CVSS VectorVendor: EEF
DescriptionCVE.org
The Erlang/OTP httpc HTTP client does not enforce a limit on the total size of response headers received from a server. The max_header_size option defaults to nolimit, and httpc_response:parse_headers/6 accumulates every header into a list before the length check runs (which only fires after the terminating CRLF CRLF is received).
A malicious or compromised HTTP server can send an arbitrarily large number of headers, or headers with very large values, causing the client process to allocate unbounded memory until the system runs out of memory or the BEAM VM crashes. A proof-of-concept server sending 100,000 headers of roughly 4000 bytes each caused the client VM to allocate over 13 GB of memory in under 30 seconds.
Any application using httpc:request/4,5 to connect to untrusted servers is affected. No authentication is required: any server the client connects to (including via a redirect or man-in-the-middle) can trigger the exhaustion.
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.
Technical POC Analysis
CWE-770 (Allocation of Resources Without Limits or Throttling).
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 httpc HTTP client contains an unbounded memory exhaustion vulnerability (CVSS 8.2) that allows remote attackers to crash the entire BEAM VM with oversized HTTP response headers. Any organization using Erlang/OTP for HTTP client operations faces potential service disruption when connecting to compromised or malicious servers, including via transparent redirects or network interception.
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: Moderate| 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-69228
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB