Skip to main content

Erlang/OTP httpc EUVDEUVD-2026-69228

| CVE-2026-55951 HIGH
Allocation of Resources Without Limits or Throttling (CWE-770)
2026-09-01 EEF
8.2
CVSS 4.0 · Vendor: EEF
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Position as or redirect client to attacker-controlled HTTP server
  2. Delivery
    Client invokes httpc:request to target URL
  3. Exploit
    Server returns HTTP response with 100,000+ oversized headers
  4. Install
    httpc_response:parse_headers/6 accumulates all headers into BEAM process heap
  5. C2
    Process memory grows to 13+ GB
  6. Execute
    System OOM or BEAM VM crash
  7. Impact
    Erlang 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.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.4% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

otp 5.10 <9.3.2.7
otp 9.4 <9.6.2.3
otp 84adefa331c4159d432d22840663c38f155cd4c1 <*
otp 17.0 <27.3.4.17
otp 28.0 <28.5.0.6
otp 9.7 <9.7.2
otp 29.0 <29.0.6

Affected Packages

euvd otp fix: 9.3.2.7, 9.6.2.3, 9.7.2, 27.3.4.17, 28.5.0.6, 29.0.6

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

Vendor (EEF) PRIMARY 8.2 HIGH
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
vuln.today AI 7.5 HIGH

Network-reachable with no authentication required; sole impact is availability via BEAM VM crash; no confidentiality or integrity loss.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
SUSE 5.9 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H

Primary rating from Vendor (EEF).

CVSS VectorVendor: EEF

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

Why It Matters

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.

Business Impact: High
Compensating Controls

Apply vendor patch.

Threat Intelligence Overview

EPSS Score
0.4%
Top 69% exploitable
Prevalence
Medium
core HTTP client in widely-deployed Erlang/OTP, prominent in telecom and Elixir web apps
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment MSRC Vendor GitHub VulDB

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.4%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

41
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +41
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

More in Erlang

View all
CVE-2025-32433 CRITICAL POC
10.0 Apr 16

Erlang/OTP SSH server allows unauthenticated remote code execution by exploiting a flaw in SSH protocol message handling

CVE-2017-1000385 MEDIUM POC
5.9 Dec 12

The Erlang otp TLS server answers with different TLS alerts to different error types in the RSA PKCS #1 1.5 padding. Rat

CVE-2023-48795 MEDIUM POC
5.9 Dec 18

The SSH transport protocol with certain OpenSSH extensions, found in OpenSSH before 9.6 and other products, allows remot

CVE-2020-13802 CRITICAL POC
9.8 Sep 02

Rebar3 versions 3.0.0-beta.3 to 3.13.2 are vulnerable to OS command injection via URL parameter of dependency specificat

CVE-2014-1693 HIGH POC
7.5 Dec 08

Multiple CRLF injection vulnerabilities in the FTP module in Erlang/OTP R15B03 allow context-dependent attackers to inje

CVE-2021-29221 HIGH POC
7.0 Apr 09

A local privilege escalation vulnerability was discovered in Erlang/OTP prior to version 23.2.3. Rated high severity (CV

CVE-2016-10253 CRITICAL
9.8 Mar 18

An issue was discovered in Erlang/OTP 18.x. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitab

CVE-2022-37026 CRITICAL
9.8 Sep 21

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

CVE-2026-89422 CRITICAL
9.3 Sep 22

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

CVE-2026-67404 CRITICAL
9.2 Sep 23

RabbitMQ brokers that use the OAuth2 plugin can silently fall back to disabled TLS certificate verification when no CA b

CVE-2026-67231 CRITICAL
9.1 Sep 23

TLS client-authentication bypass in the RabbitMQ trust-store plugin lets a remote unauthenticated attacker whose forged

CVE-2026-55953 CRITICAL
9.1 Jul 27

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

Vendor 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

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy