Inconsistent interpretation of HTTP requests in otp - CVE-2026-23941
Published: April 10, 2026
Vulnerability details
The vulnerability allows a remote attacker to smuggle HTTP requests.
The vulnerability exists due to inconsistent interpretation of HTTP requests in inets httpd Content-Length parsing when processing requests with duplicate Content-Length headers that contain different values. A remote attacker can send a specially crafted request to smuggle HTTP requests.
Exploitation requires httpd to be deployed behind a reverse proxy, load balancer, or CDN that uses a different Content-Length resolution strategy, typically with persistent connections enabled.
Affected software
SUSE Linux Enterprise Server 15 SP6
SUSE Linux Enterprise Server 15 SP5
SUSE Linux Enterprise Server 15 SP4
SUSE Linux Enterprise Server for SAP Applications 15
SUSE Linux Enterprise High Performance Computing 15
SUSE Linux Enterprise High Performance Computing ESPOS 15
SUSE Linux Enterprise High Performance Computing LTSS 15
SUSE Linux Enterprise Server 15
SUSE Linux Enterprise Real Time 15
Server Applications Module
openSUSE Leap
openEuler
PowerVC
erlang-hipe
erlang-xmerl
erlang-ftp
erlang-examples
erlang-eunit
erlang-et
erlang-erts
erlang-erl_interface
erlang-erl_docgen
erlang-eldap
erlang-edoc
erlang-diameter
erlang-dialyzer
erlang-debugsource
erlang-debuginfo
erlang-debugger
erlang-crypto
erlang-compiler
erlang-common_test
erlang-asn1
erlang
erlang-jinterface
erlang-wx
erlang-tools
erlang-tftp
erlang-syntax_tools
erlang-stdlib
erlang-ssl
erlang-ssh
erlang-snmp
erlang-sasl
erlang-runtime_tools
erlang-public_key
erlang-parsetools
erlang-os_mon
erlang-odbc
erlang-observer
erlang-mnesia
erlang-megaco
erlang-kernel
erlang-inets
erlang-reltool
erlang-doc
erlang-epmd-debuginfo
erlang-observer-src
erlang-src
erlang-diameter-src
erlang-reltool-src
erlang-jinterface-src
erlang-dialyzer-debuginfo
erlang-dialyzer-src
erlang-debugger-src
erlang-et-src
erlang-wx-debuginfo
erlang-epmd
erlang-wx-src
erlang26-debugger-src
erlang26-diameter-src
erlang26-et-src
erlang26-diameter
erlang26-observer-src
erlang26-debuginfo
erlang26-observer
erlang26-wx-src
erlang26-wx
erlang26
erlang26-jinterface
erlang26-epmd
erlang26-epmd-debuginfo
erlang26-doc
erlang26-debugsource
erlang26-reltool-src
erlang26-wx-debuginfo
erlang26-dialyzer-src
erlang26-reltool
erlang26-et
erlang26-debugger
erlang26-dialyzer
erlang26-src
erlang26-jinterface-src
erlang26-dialyzer-debuginfo
How to mitigate CVE-2026-23941
PowerVC - update to 2.3.2
erlang-hipe - update to 23.3.4.9-10
erlang-xmerl - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-ftp - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-examples - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-eunit - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-et - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-erts - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-erl_interface - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-erl_docgen - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-eldap - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-edoc - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-diameter - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-dialyzer - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-debugsource - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-debuginfo - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-debugger - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-crypto - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-compiler - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-common_test - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-asn1 - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-jinterface - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-wx - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-tools - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-tftp - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-syntax_tools - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-stdlib - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-ssl - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-ssh - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-snmp - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-sasl - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-runtime_tools - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-public_key - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-parsetools - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-os_mon - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-odbc - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-observer - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-mnesia - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-megaco - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-kernel - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-inets - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-reltool - addressed in versions 23.3.4.9-10, 25.3.2.6-13
erlang-doc - update to 23.3.4.19-150300.3.32.1
erlang-epmd-debuginfo - update to 23.3.4.19-150300.3.32.1
erlang-observer-src - update to 23.3.4.19-150300.3.32.1
erlang-src - update to 23.3.4.19-150300.3.32.1
erlang-et - update to 23.3.4.19-150300.3.32.1
erlang-diameter-src - update to 23.3.4.19-150300.3.32.1
erlang-reltool-src - update to 23.3.4.19-150300.3.32.1
erlang-jinterface-src - update to 23.3.4.19-150300.3.32.1
erlang-dialyzer-debuginfo - update to 23.3.4.19-150300.3.32.1
erlang-jinterface - update to 23.3.4.19-150300.3.32.1
erlang-reltool - update to 23.3.4.19-150300.3.32.1
erlang-debugger - update to 23.3.4.19-150300.3.32.1
erlang-diameter - update to 23.3.4.19-150300.3.32.1
erlang-observer - update to 23.3.4.19-150300.3.32.1
erlang-debuginfo - update to 23.3.4.19-150300.3.32.1
erlang-dialyzer-src - update to 23.3.4.19-150300.3.32.1
erlang-debugger-src - update to 23.3.4.19-150300.3.32.1
erlang-dialyzer - update to 23.3.4.19-150300.3.32.1
erlang-debugsource - update to 23.3.4.19-150300.3.32.1
erlang - update to 23.3.4.19-150300.3.32.1
erlang-wx - update to 23.3.4.19-150300.3.32.1
erlang-et-src - update to 23.3.4.19-150300.3.32.1
erlang-wx-debuginfo - update to 23.3.4.19-150300.3.32.1
erlang-epmd - update to 23.3.4.19-150300.3.32.1
erlang-wx-src - update to 23.3.4.19-150300.3.32.1
erlang-src - update to 25.3.2.6-13
erlang26-debugger-src - update to 26.2.1-150300.7.25.1
erlang26-diameter-src - update to 26.2.1-150300.7.25.1
erlang26-et-src - update to 26.2.1-150300.7.25.1
erlang26-diameter - update to 26.2.1-150300.7.25.1
erlang26-observer-src - update to 26.2.1-150300.7.25.1
erlang26-debuginfo - update to 26.2.1-150300.7.25.1
erlang26-observer - update to 26.2.1-150300.7.25.1
erlang26-wx-src - update to 26.2.1-150300.7.25.1
erlang26-wx - update to 26.2.1-150300.7.25.1
erlang26 - update to 26.2.1-150300.7.25.1
erlang26-jinterface - update to 26.2.1-150300.7.25.1
erlang26-epmd - update to 26.2.1-150300.7.25.1
erlang26-epmd-debuginfo - update to 26.2.1-150300.7.25.1
erlang26-doc - update to 26.2.1-150300.7.25.1
erlang26-debugsource - update to 26.2.1-150300.7.25.1
erlang26-reltool-src - update to 26.2.1-150300.7.25.1
erlang26-wx-debuginfo - update to 26.2.1-150300.7.25.1
erlang26-dialyzer-src - update to 26.2.1-150300.7.25.1
erlang26-reltool - update to 26.2.1-150300.7.25.1
erlang26-et - update to 26.2.1-150300.7.25.1
erlang26-debugger - update to 26.2.1-150300.7.25.1
erlang26-dialyzer - update to 26.2.1-150300.7.25.1
erlang26-src - update to 26.2.1-150300.7.25.1
erlang26-jinterface-src - update to 26.2.1-150300.7.25.1
erlang26-dialyzer-debuginfo - update to 26.2.1-150300.7.25.1
External References
Related Security Bulletins
- Multiple vulnerabilities in otp
- openEuler 24.03 LTS SP1 update for erlang
- openEuler 24.03 LTS update for erlang
- openEuler 24.03 LTS SP3 update for erlang
- openEuler 24.03 LTS SP2 update for erlang
- SUSE update for erlang
- IBM PowerVC update for Erlang OTP
- SUSE update for erlang26
- openEuler 22.03 LTS SP4 update for erlang