CVE-2026-23941
Analyzed
Analyzed - Analysis Complete
HTTP Request Smuggling in Erlang OTP Inets Module Allows Request Desync
Publication date: 2026-03-13
Last updated on: 2026-05-21
Assigner: EEF
Description
Description
Inconsistent Interpretation of HTTP Requests ('HTTP Request Smuggling') vulnerability in Erlang OTP (inets httpd module) allows HTTP Request Smuggling.
This vulnerability is associated with program files lib/inets/src/http_server/httpd_request.erl and program routines httpd_request:parse_headers/7.
The server does not reject or normalize duplicate Content-Length headers. The earliest Content-Length in the request is used for body parsing while common reverse proxies (nginx, Apache httpd, Envoy) honor the last Content-Length value. This violates RFC 9112 Section 6.3 and allows front-end/back-end desynchronization, leaving attacker-controlled bytes queued as the start of the next request.
This issue affects OTP from OTP 17.0 until OTP 28.4.1, OTP 27.3.4.9 and OTP 26.2.5.18, corresponding to inets from 5.10 until 9.6.1, 9.3.2.3 and 9.1.0.5.
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| erlang | erlang/otp | From 17.0 (inc) to 26.2.5.18 (exc) |
| erlang | erlang/otp | From 27.0 (inc) to 27.3.4.9 (exc) |
| erlang | erlang/otp | From 28.0 (inc) to 28.4.1 (exc) |
| erlang | erlang/inets | From 5.10 (inc) to 9.1.0.5 (exc) |
| erlang | erlang/inets | From 9.3 (inc) to 9.3.2.3 (exc) |
| erlang | erlang/inets | From 9.6 (inc) to 9.6.1 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-444 | The product acts as an intermediary HTTP agent (such as a proxy or firewall) in the data flow between two entities such as a client and server, but it does not interpret malformed HTTP requests or responses in ways that are consistent with how the messages will be processed by those entities that are at the ultimate destination. |