Request smuggling via first-wins Content-Length parsing in inets httpd (Erlang OTP)
At a glance
- Source
- NVD
- EPSS
- EPSS 0.47 % · percentile 41 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- EEF
- NVD status
- Modified
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 before OTP 28.4.1, OTP 27.3.4.9 and OTP 26.2.5.18, corresponding to inets from 5.10 before 9.6.1, 9.3.2.3 and 9.1.0.5.
Weaknesses (CWE)
- CWE-444 — Inconsistent Interpretation of HTTP Requests
References
- https://github.com/erlang/otp/security/advisories/GHSA-w4jc-9wpv-pqh7
- https://cna.erlef.org/cves/CVE-2026-23941.html
- https://osv.dev/vulnerability/EEF-CVE-2026-23941
- https://www.erlang.org/doc/system/versions.html#order-of-versions
- https://github.com/erlang/otp/commit/a4b46336fd25aa100ac602eb9a627aaead7eda18
- https://github.com/erlang/otp/commit/a761d391d8d08316cbd7d4a86733ba932b73c45b
- https://github.com/erlang/otp/commit/e775a332f623851385ab6ddb866d9b150612ddf6
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 4.0 | HIGH 7.0 | CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:L | EEF |
| CVSS 4.0 | HIGH 7.0 | CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:N/VA:N/SC:H/SI:H/SA:L/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 | NVD · 6b3ad84c-e1a6-4bf7-a703-f496b71e49db (Secondary) |
| CVSS 3.1 | CRITICAL 9.4 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L | NVD · nvd@nist.gov (Primary) |
European references
- ENISA EUVD · EUVD-2026-11776
- GCVE · GCVE-0-2026-23941
CERT-FR advisories
- CERTFR-2026-AVI-0436 — Multiples vulnérabilités dans Tenable Identity Exposure · cert.ssi.gouv.fr
- CERTFR-2026-AVI-0321 — Multiples vulnérabilités dans les produits Microsoft · cert.ssi.gouv.fr
Affected configurations (NVD CPE)
cpe:2.3:a:erlang:erlang\/inets:*:*:*:*:*:*:*:*≥ 5.10 < 9.1.0.5cpe:2.3:a:erlang:erlang\/inets:*:*:*:*:*:*:*:*≥ 9.3 < 9.3.2.3cpe:2.3:a:erlang:erlang\/inets:*:*:*:*:*:*:*:*≥ 9.6 < 9.6.1cpe:2.3:a:erlang:erlang\/otp:*:*:*:*:*:*:*:*≥ 17.0 < 26.2.5.18cpe:2.3:a:erlang:erlang\/otp:*:*:*:*:*:*:*:*≥ 27.0 < 27.3.4.9cpe:2.3:a:erlang:erlang\/otp:*:*:*:*:*:*:*:*≥ 28.0 < 28.4.1
Affected products
| Product | Versions |
|---|---|
| Erlang · OTP | affected 5.10 < * |
| Erlang · OTP | affected 17.0 < * ; affected 84adefa331c4159d432d22840663c38f155cd4c1 < * |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| CERT-FR (ANSSI) | Licence Ouverte / Etalab 2.0 |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |