Summary
CVE-2026-73276 is an HTTP Request Smuggling vulnerability (CWE-444: Inconsistent Interpretation of HTTP Requests) affecting the inets httpd HTTP server component bundled with Erlang/OTP. The flaw arises because httpd silently drops malformed HTTP headers that contain whitespace between the field name and the colon (e.g. Content-Length : 6) instead of rejecting them as required by RFC 7230 §3.2.4, which can cause the server to desynchronize request framing when deployed behind a tolerant reverse proxy. The issue carries a High severity rating (CVSS 8.3) and is remotely exploitable without authentication.
Technical details
- Root cause: The
httpdrequest-parsing "gracefulness" logic was intended to tolerate minor header formatting deviations, but it ignored a case that should have been rejected outright: headers with whitespace inserted before the colon separator. Rather than returning an error,httpdstrips the malformed header entirely. - Trigger conditions: When the dropped header is
Content-Length(submitted asContent-Length : <value>),httpdtreats the request as having no body-length declaration and defaults the effective length to0. - Attack vector: An attacker sends a crafted request containing a malformed
Content-Lengthheader to a front-end reverse proxy that tolerates the whitespace and correctly parses the realContent-Lengthvalue, while the backend Erlang/OTPhttpdserver drops the header and treats the request body as a new, separate ("smuggled") pipelined request — a classic CL.0 desynchronization. - Impact: Successful exploitation enables HTTP request smuggling, which can be leveraged to bypass front-end access controls, poison the request queue for other users, hijack or manipulate other users’ requests/responses passing through the same connection, and potentially exfiltrate sensitive data — consistent with the reported impact of low confidentiality loss and high integrity loss with no availability impact.
- Prerequisites: Exploitation requires the vulnerable
httpdserver to be positioned behind a reverse proxy or intermediary that itself accepts and correctly interprets the same malformed/whitespace header, creating the front-end/back-end interpretation mismatch.
Affected software
- Erlang/OTP 22.2 up to (but not including) 27.3.4.17
- Erlang/OTP 28.0 up to (but not including) 28.5.0.6
- Erlang/OTP 29.0 up to (but not including) 29.0.6
inetsapplication 7.1.2 up to (but not including) 9.3.2.7inetsapplication 9.4 up to (but not including) 9.6.2.3inetsapplication 9.7 up to (but not including) 9.7.2
Severity
- CVSS Score: 8.3 (High)
- CVSS Vector (v4.0):
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 - Note: The Erlang Ecosystem Foundation CNA published this score using the CVSS v4.0 standard; no CVSS v3.1 vector has been issued for this CVE.
Mitigation and recommended actions
- Immediate: Upgrade Erlang/OTP to a patched release — OTP 27.3.4.17, OTP 28.5.0.6, or OTP 29.0.6 (which include
inets9.3.2.7, 9.6.2.3, and 9.7.2 respectively) — depending on your currently deployed release line. - If immediate patching is not possible:
- Ensure any reverse proxy or load balancer placed in front of
httpdstrictly enforces RFC 7230 header syntax and rejects requests containing whitespace between a header field name and its colon, rather than passing them through. - Disable HTTP request pipelining/keep-alive reuse at the proxy layer where feasible to reduce the impact of desynchronized framing.
- Restrict and monitor direct network exposure of
inets httpdinstances, and audit proxy/backend chains for CL.0-style parsing inconsistencies.
- Ensure any reverse proxy or load balancer placed in front of

