Skip to main content

Erlang OTP inets CVE-2026-73812

| EUVDEUVD-2026-69235 HIGH
HTTP Request/Response Smuggling (CWE-444)
2026-09-01 EEF
8.3
CVSS 4.0 · Vendor: EEF
View

Attack ChainAIDerived

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

  1. Recon
    Identify inets behind CL-preferring proxy
  2. Delivery
    Craft request with both TE and CL headers
  3. Exploit
    Proxy forwards by Content-Length boundary
  4. Install
    inets parses by chunked TE, discards CL
  5. C2
    Trailing bytes interpreted as new HTTP request
  6. Execute
    Inject prefix into victim's next request
  7. Impact
    Session hijack or auth bypass

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V4 - API and Web Service HTTP request consistency
Exploitation Conditions

Exploitation requires a two-tier HTTP/1.1 pipeline where the front-end component (load balancer, CDN, or reverse proxy) is configured to prefer Content-Length for request body framing while the inets httpd backend prefers Transfer-Encoding (chunked). The attacker must be able to send HTTP requests carrying both Transfer-Encoding: chunked and a Content-Length value that misaligns with the chunked boundary. Exploitation is NOT possible when: (a) inets is exposed directly without any CL-preferring front-end proxy, (b) the front-end is also TE-preferring (producing a TE.TE topology rather than CL.TE), or (c) the front-end normalizes, strips, or rejects conflicting framing headers prior to forwarding. CVSS 4.0 AT:P explicitly encodes this topology dependency. Authentication is not required (PR:N per the provided CVSS 4.0 vector) and no victim user interaction is needed by the attacker to deliver the smuggled prefix.

Impact

The CVSS 4.0 score of 8.3 is well-calibrated: AT:P (Attack Requirements: Present) correctly encodes that exploitation requires a specific proxy topology - a CL-preferring front-end forwarding to an inets backend - which is not the default or universal deployment mode, meaningfully limiting real-world exposure compared to the raw VI:H impact rating implies. Deployments exposing inets directly or behind a TE-preferring proxy face no desync risk from this issue. The VI:H rating is justified because successful smuggling allows an attacker to corrupt the request pipeline, potentially prepending attacker-controlled data to another user's request, enabling session hijacking or authorization bypass. No EPSS data is present in the source intelligence, precluding probabilistic exploitation-likelihood comparison. KEV listing is absent and no POC has been identified, so active exploitation is unconfirmed. However, the CL.TE attack class is extensively documented and tool-assisted discovery is accessible to moderately skilled attackers using widely available tooling such as Burp Suite's HTTP Request Smuggler extension - the gap between 'no known public exploit' and 'viable exploitation' is narrow when the required topology is present. Overall priority should be high for any inets deployment behind a CL-preferring reverse proxy and low-to-negligible for all other configurations.

Exploit ScenarioDerived

An unauthenticated attacker sends a crafted HTTP/1.1 request containing both a Transfer-Encoding: chunked header and a Content-Length header whose value misaligns with the actual chunk boundary to a CL-preferring reverse proxy sitting in front of an inets-backed application. The proxy, honoring Content-Length, considers the message complete and forwards it; inets, preferring chunked encoding, interprets the trailing attacker-controlled bytes as the beginning of a new HTTP request, prepending them to the next victim's request and potentially overwriting security-sensitive headers or parameters. No public POC has been identified, but the CL.TE technique is extensively documented and discoverable using tools such as Burp Suite's HTTP Request Smuggler extension.

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

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

Alert me

AnalysisAIv1 – Sep 01, 2026

Request smuggling in Erlang OTP inets (versions 17.0 through 29.x) arises when the httpd server sits behind a Content-Length-preferring reverse proxy: inets frames the request body by chunked Transfer-Encoding and silently discards a co-present Content-Length header, while the front-end proxies request boundaries by Content-Length, producing a classic CL.TE desync. An unauthenticated network attacker in this topology can inject a crafted prefix into a subsequent victim's HTTP request, potentially enabling session hijacking, credential theft, or cache poisoning against other users of the same back-end. No public exploit has been identified at time of analysis, the vulnerability is not listed in CISA KEV, and vendor patches are available for the OTP 27.x, 28.x, and 29.x release branches.

RemediationAI

Upgrade to OTP 27.3.4.17, OTP 28.5.0.6, or OTP 29.0.6 (bundling inets 9.3.2.7, 9.6.2.3, and 9.7.2 respectively), which add explicit HTTP 400 rejection for any request containing both Transfer-Encoding and Content-Length headers, eliminating the ambiguous parsing path entirely. The patch commit is at https://github.com/erlang/otp/commit/591dc00dc99dc2a426167a3b5257c0c94bd45e91 and the full advisory at https://github.com/erlang/otp/security/advisories/GHSA-7j6m-4ffg-hg46. If immediate upgrade is not feasible, configure any front-end proxy or load balancer to strip or reject HTTP requests containing both framing headers before forwarding to inets - this eliminates the desync surface at the proxy layer but does not fix the underlying parser deficiency and must be actively maintained across proxy configuration changes. Alternatively, restricting inets to direct (non-proxied) HTTP exposure removes the CL.TE attack path entirely, at the operational cost of losing reverse-proxy capabilities such as TLS termination, load balancing, and connection multiplexing.

Affected VersionsENISA

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

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

The vulnerability resides in the check_header function within httpd_request.erl in Erlang/OTP's bundled inets HTTP server library (CPE: cpe:2.3:a:erlang:otp). A prior fix for CVE-2026-23941 added rejection of duplicate Content-Length headers, but neither check_header nor handle_body/3 tested for simultaneous presence of both Transfer-Encoding and Content-Length in the same request - a combination RFC 9112 §6.3 explicitly identifies as a probable smuggling attempt. When both headers are present, inets frames by chunked encoding and silently discards Content-Length; a CL-preferring front-end (e.g., nginx or HAProxy in common configurations) uses Content-Length to delimit the forwarded payload. The boundary mismatch is the textbook CWE-444 (Inconsistent Interpretation of HTTP Requests) root cause. The patch (commit 591dc00) adds an explicit co-presence check: when check_header encounters a content-length header it now also inspects the accumulated Headers list for a transfer-encoding entry and vice versa, returning HTTP 400 Bad Request on conflict rather than silently proceeding.

Know when Otp 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.3 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:H/VA:N/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

AC:H reflects the required CL-preferring proxy topology prerequisite; S:C because the attacker's request corrupts a different victim user's session on the same server.

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

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
Low
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

DescriptionCVE.org

httpd function check_header/3 rejects duplicate Content-Length (per CVE-2026-23941) but never checks for the TE+CL co-presence that RFC 9112 §6.3 identifies as a probable smuggling attempt. handle_body/3 frames by chunked and silently discards Content-Length. A CL-preferring front-end paired with chunked-preferring inets creates a classic CL.TE front-end/back-end desync.

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-444, Inconsistent Interpretation of HTTP Requests.

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 HTTP server is vulnerable to request smuggling that could allow attackers to hijack user sessions, steal credentials, or poison cached content. The vulnerability affects versions 17.0-29.x when deployed behind certain reverse proxy configurations; no public exploit identified at time of analysis. This access vector poses a direct risk to any organization running Erlang-based services behind proxy infrastructure.

Business Impact: High
Compensating Controls

Apply vendor patch. For unsupported versions (OTP 17.0-26.x), implement request framing alignment at the reverse proxy layer to prevent Content-Length / Transfer-Encoding mismatch.

Threat Intelligence Overview

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Low
inets httpd rarely used in production; Cowboy dominates Erlang HTTP serving
Data Quality
7 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.3%
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

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

Attack Technique

HTTP request smuggling exploits inconsistencies in how front-end and back-end servers parse HTTP message boundaries.

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Otp

View all
CVE-2022-24584 MEDIUM POC
6.5 May 11

Incorrect access control in Yubico OTP functionality of the YubiKey hardware tokens along with the Yubico OTP validation

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

CVE-2026-49759 HIGH
8.8 Jun 10

Denial of service in Erlang/OTP erts (inet_drv SCTP handler) lets unauthenticated remote attackers crash the BEAM VM by

CVE-2026-70399 HIGH
8.7 Sep 01

Unauthenticated denial of service in Erlang/OTP's inets httpd allows any remote attacker to exhaust a server's process p

CVE-2026-55950 HIGH
8.7 Jul 02

Remote denial of service in Erlang/OTP's ssl application (dtls_packet_demux module) lets an unauthenticated attacker cra

CVE-2026-71380 HIGH
8.7 Sep 01

Erlang/OTP's inets HTTP server (httpd) is vulnerable to a slow-body resource exhaustion attack exploitable by unauthenti

CVE-2026-58227 HIGH
8.7 Jul 27

Uncontrolled recursion in the Erlang/OTP ssl application when processing a crafted TLS/DTLS certificate chain allows rem

CVE-2026-74835 HIGH
8.7 Sep 01

Erlang/OTP's inets HTTP server (httpd) fails to enforce an administrator-configured request body-size limit when process

CVE-2026-59250 HIGH
8.3 Jul 27

Remote code execution and denial of service are possible against Erlang/OTP nodes that run the megaco application with t

CVE-2026-73276 HIGH
8.3 Sep 01

Remote unauthenticated attackers can exploit Erlang/OTP's built-in inets HTTP server across OTP versions 22.2 through 29

CVE-2026-66357 HIGH
8.3 Sep 01

HTTP request smuggling in Erlang/OTP's built-in inets httpd server allows unauthenticated remote attackers to inject arb

Vendor 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

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