CVE-2026-23941
criticalpriority · track · 38EPSS 0.005 · 41 %ileDEEURUUSEPSS · scored 2026-10-27
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
Technical severity, 0–10. One row per scoring source.
base score 0–10 · higher = more severe · hover a vector to decode⚠ sources disagree · low–critical · 2.8–9.4
ssvc
A stakeholder decision — act, attend, or track — from exploitation and impact.
weaknesses
The CWE weakness classes this flaw belongs to.
affected products (29)
Products and version ranges known to be affected.
advisories (2)
Vendor and ecosystem advisories describing this.
- WID-SEC-W-2026-0721Erlang/OTP: Mehrere SchwachstellenDeutsch2026-03-12csaf · cert_bundDE
Ein Angreifer kann mehrere Schwachstellen in Erlang/OTP ausnutzen, um Sicherheitsvorkehrungen zu umgehen, einen Denial-of-Service-Zustand herbeizuführen oder HTTP-Request-Smuggling zu erreichen, was weitere Angriffe ermöglicht.
- EEF-CVE-2026-23941Request smuggling via first-wins Content-Length parsing in inets httpd2026-03-13vendor · osvUS
## Summary 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. ## Workarounds \* Configure frontend proxy to reject requests with duplicate Content-Length headers. \* Disable HTTP keep-alive on httpd by adding \`{keep\_alive, false}\` to httpd configuration. Note: This impacts performance for clients making multiple requests. \* Deploy a Web Application Firewall (WAF) configured to reject requests with multiple Content-Length headers. ## Configurations The inets httpd server must be deployed behind a reverse proxy that honors a different Content-Length header than httpd (e.g., last vs. first). HTTP keep-alive must be enabled (the default).
also known as (4)
Other names and identifiers for this entity.
sources
Which sources assert this record, and when.
references (22)
External citations — patches, advisories, analysis.
- https://access.redhat.com/security/cve/cve-2026-23941cnnvd
- https://github.com/erlang/otp/commit/a4b46336fd25aa100ac602eb9a627aaead7eda18cnnvd
- https://github.com/erlang/otp/commit/a761d391d8d08316cbd7d4a86733ba932b73c45bcnnvd
- https://github.com/erlang/otp/commit/e775a332f623851385ab6ddb866d9b150612ddf6cnnvd
- https://github.com/erlang/otp/security/advisories/GHSA-w4jc-9wpv-pqh7cnnvd
- https://msrc.microsoft.com/update-guide/vulnerability/CVE-2026-23941cnnvd
- https://www.erlang.org/Patchcnnvd
- https://www.erlang.org/doc/system/versions.html#order-of-versionscnnvd
Attackers weaponise vulnerabilities like this against internet-exposed services. See what is exposed on your perimeter with a free passive scan.
Free scan