p PatchFirst

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

Check your server →