CVE-2026-66357
largeHTTP request smuggling in Erlang/OTP inets httpd (obs-fold not implemented)
The HTTP server (httpd) in Erlang/OTP's inets application has never implemented obs-fold (header continuation lines), so every CRLF followed by any non-CRLF octet is unconditionally parsed as the start of a new header rather than a folded continuation. An attacker sends HTTP requests containing folded header lines that a front-end proxy treats as continuations while httpd treats them as separate headers, causing the proxy and backend to disagree about message boundaries and enabling classic HTTP request smuggling (CWE-444). Successful smuggling can let the attacker bypass access controls, poison or hijack responses, or corrupt downstream requests; CVSS 4.0 rates this 8.3 (high) with high integrity impact on the vulnerable system. All deployments using inets httpd in the affected OTP release lines are exposed, particularly those placed behind reverse proxies or load balancers that accept obs-fold; whether OTP releases before 17.0 (inets before 5.10) are affected is unknown. No public PoC exists, it is not in CISA KEV, and EPSS is low (0.3% probability of exploitation within 30 days), with no known in-the-wild exploitation.
What to do: Upgrade Erlang/OTP to OTP 27.3.4.17, OTP 28.5.0.6, or OTP 29.0.6 (or later), which include the fixed inets versions 9.3.2.7, 9.6.2.3, and 9.7.2 respectively. Until patched, avoid fronting inets httpd with proxies or load balancers that accept or normalize obs-fold header lines, or configure the front end to reject folded headers; check which of your Erlang/OTP deployments expose httpd over the network and whether they sit behind a proxy.
| Ericsson Erlang/OTP inets httpd | OTP 17.0 up to (excluding) OTP 27.3.4.17, corresponding to inets 5.10 up to (excluding) 9.3.2.7 |
| Ericsson Erlang/OTP inets httpd | OTP 28.0 up to (excluding) OTP 28.5.0.6, corresponding to inets 9.4 up to (excluding) 9.6.2.3 |
| Ericsson Erlang/OTP inets httpd | OTP 29.0 up to (excluding) OTP 29.0.6, corresponding to inets 9.7 up to (excluding) 9.7.2 |
| Ericsson Erlang/OTP inets httpd | OTP releases before 17.0 (inets before 5.10) - affected status unknown |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
httpd has never implemented obs-fold (RFC 2616 §2.2 / RFC 7230 §3.2.4 header continuation lines). Every CRLF followed by a non-CRLF octet unconditionally starts a new header. This missing feature became a security concern as the understanding of HTTP request smuggling attacks evolved. 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.
- Weakness
- CWE-444
- Vector
- CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:H/VA:N/SC:N/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
In the news0 stories
No ingested article mentions this CVE yet.