CVE-2026-23941
CVE-2026-23941 · Request smuggling via first-wins Content-Length parsing in inets httpd
This page contains facts from public vulnerability sources. Check the original advisory before updating.
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.
CVSS 7.0 · High · EPSS 0.5% · Fix available
- Published
- Updated
Stack: system
Affected products and versions
erlang
- Versions
- ≥ 5.10: Affected; ≥ 9.6.1: Not affected; ≥ 9.3.2.3: Not affected; ≥ 9.1.0.5: Not affected (otp)
Update to 9.1.0.5
erlang
- Versions
- ≥ 17.0: Affected; ≥ 28.4.1: Not affected; ≥ 27.3.4.9: Not affected; ≥ 26.2.5.18: Not affected (otp)
- ≥ 84adefa331c4159d432d22840663c38f155cd4c1: Affected; ≥ a4b46336fd25aa100ac602eb9a627aaead7eda18: Not affected; ≥ a761d391d8d08316cbd7d4a86733ba932b73c45b: Not affected; ≥ e775a332f623851385ab6ddb866d9b150612ddf6: Not affected (git)
Update to 26.2.5.18
erlang Debian:12
- Versions
- 1:25.2.3+dfsg-1
- 1:25.2.3+dfsg-1+deb12u1
- 1:25.2.3+dfsg-1+deb12u2
- 1:25.2.3+dfsg-1+deb12u3
- Affected ranges
- ECOSYSTEM: < 1:25.2.3+dfsg-1+deb12u4
Update to 1:25.2.3+dfsg-1+deb12u4
erlang Debian:13
- Versions
- 1:27.3.4.1+dfsg-1
- 1:27.3.4.1+dfsg-1+deb13u1
- Affected ranges
- ECOSYSTEM: < 1:27.3.4.1+dfsg-1+deb13u2
Update to 1:27.3.4.1+dfsg-1+deb13u2
erlang Debian:14
- Versions
- 1:27.3.4.1+dfsg-1
- 1:27.3.4.3+dfsg-1
- 1:27.3.4.4+dfsg-1
- 1:27.3.4.6+dfsg-1
- 1:27.3.4.8+dfsg-1
- Affected ranges
- ECOSYSTEM: < 1:27.3.4.9+dfsg-1
Update to 1:27.3.4.9+dfsg-1
erlang Ubuntu:Pro:14.04:LTS
- Versions
- 1:16.b.1-dfsg-4ubuntu1
- 1:16.b.2-dfsg-1ubuntu1
- 1:16.b.2-dfsg-2ubuntu1
- 1:16.b.3-dfsg-1ubuntu1
- 1:16.b.3-dfsg-1ubuntu2
- 1:16.b.3-dfsg-1ubuntu2.1
- 1:16.b.3-dfsg-1ubuntu2.2
- 1:16.b.3-dfsg-1ubuntu2.2+esm1
- Affected ranges
- ECOSYSTEM: < 1:16.b.3-dfsg-1ubuntu2.2+esm2
Update to 1:16.b.3-dfsg-1ubuntu2.2+esm2
erlang Ubuntu:Pro:16.04:LTS
- Versions
- 1:18.0-dfsg-1ubuntu1
- 1:18.0-dfsg-1ubuntu2
- 1:18.2-dfsg-2ubuntu1
- 1:18.3-dfsg-1ubuntu1
- 1:18.3-dfsg-1ubuntu2
- 1:18.3-dfsg-1ubuntu3
- 1:18.3-dfsg-1ubuntu3.1
- 1:18.3-dfsg-1ubuntu3.1+esm1
- 1:18.3-dfsg-1ubuntu3.1+esm2
- Affected ranges
- ECOSYSTEM: < 1:18.3-dfsg-1ubuntu3.1+esm3
Update to 1:18.3-dfsg-1ubuntu3.1+esm3
erlang Ubuntu:Pro:18.04:LTS
- Versions
- 1:20.0.4+dfsg-1ubuntu1
- 1:20.1.2+dfsg-1ubuntu1
- 1:20.1.3+dfsg-1ubuntu1
- 1:20.1.4+dfsg-1ubuntu1
- 1:20.1.5+dfsg-1ubuntu1
- 1:20.1.6+dfsg-1ubuntu1
- 1:20.1.7+dfsg-1ubuntu1
- 1:20.2.1+dfsg-1ubuntu1
- 1:20.2.2+dfsg-1ubuntu1
- 1:20.2.2+dfsg-1ubuntu2
- 1:20.2.2+dfsg-1ubuntu2+esm1
- 1:20.2.2+dfsg-1ubuntu2+esm2
- Affected ranges
- ECOSYSTEM: < 1:20.2.2+dfsg-1ubuntu2+esm3
Update to 1:20.2.2+dfsg-1ubuntu2+esm3
erlang Ubuntu:Pro:20.04:LTS
- Versions
- 1:22.0.7+dfsg-1build1
- 1:22.2+dfsg-1
- 1:22.2.1+dfsg-1
- 1:22.2.2+dfsg-1
- 1:22.2.3+dfsg-1
- 1:22.2.3+dfsg-2
- 1:22.2.4+dfsg-1
- 1:22.2.7+dfsg-1
- 1:22.2.7+dfsg-1ubuntu0.2
- 1:22.2.7+dfsg-1ubuntu0.3
- 1:22.2.7+dfsg-1ubuntu0.4
- 1:22.2.7+dfsg-1ubuntu0.5
- 1:22.2.7+dfsg-1ubuntu0.5+esm1
- Affected ranges
- ECOSYSTEM: < 1:22.2.7+dfsg-1ubuntu0.5+esm2
Update to 1:22.2.7+dfsg-1ubuntu0.5+esm2
erlang Ubuntu:22.04:LTS
- Versions
- 1:23.2.6+dfsg-1build1
- 1:24.1.1+dfsg-1
- 1:24.1.4+dfsg-1
- 1:24.1.5+dfsg-1
- 1:24.1.5+dfsg-1ubuntu1
- 1:24.2+dfsg-1
- 1:24.2.1+dfsg-1
- 1:24.2.1+dfsg-1ubuntu0.1
- 1:24.2.1+dfsg-1ubuntu0.2
- 1:24.2.1+dfsg-1ubuntu0.3
- 1:24.2.1+dfsg-1ubuntu0.4
- 1:24.2.1+dfsg-1ubuntu0.5
- 1:24.2.1+dfsg-1ubuntu0.6
- Affected ranges
- ECOSYSTEM: < 1:24.2.1+dfsg-1ubuntu0.7
Update to 1:24.2.1+dfsg-1ubuntu0.7
erlang Ubuntu:24.04:LTS
- Versions
- 1:25.2.3+dfsg-1
- 1:25.3.2.8+dfsg-1
- 1:25.3.2.8+dfsg-1ubuntu1
- 1:25.3.2.8+dfsg-1ubuntu3
- 1:25.3.2.8+dfsg-1ubuntu4
- 1:25.3.2.8+dfsg-1ubuntu4.1
- 1:25.3.2.8+dfsg-1ubuntu4.2
- 1:25.3.2.8+dfsg-1ubuntu4.3
- 1:25.3.2.8+dfsg-1ubuntu4.4
- 1:25.3.2.8+dfsg-1ubuntu4.5
- 1:25.3.2.8+dfsg-1ubuntu4.6
- Affected ranges
- ECOSYSTEM: < 1:25.3.2.8+dfsg-1ubuntu4.7
Update to 1:25.3.2.8+dfsg-1ubuntu4.7
erlang Ubuntu:25.10
- Versions
- 1:27.3+dfsg-1ubuntu1
- 1:27.3+dfsg-1ubuntu1.1
- 1:27.3.4.1+dfsg-1
- 1:27.3.4.1+dfsg-1build1
- 1:27.3.4.1+dfsg-1ubuntu0.1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
erlang Ubuntu:26.04:LTS
- Versions
- 1:27.3.4.1+dfsg-1build1
- 1:27.3.4.3+dfsg-1
- 1:27.3.4.4+dfsg-1
- 1:27.3.4.6+dfsg-1
- Affected ranges
- ECOSYSTEM: < 1:27.3.4.6+dfsg-1ubuntu0.1
Update to 1:27.3.4.6+dfsg-1ubuntu0.1
Original sources
- 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
- https://nvd.nist.gov/vuln/detail/CVE-2026-23941