CyberSecBulletin

Inconsistent Interpretation of HTTP Requests

CWE-444

The product acts as an intermediary HTTP agent (such as a proxy or firewall) in the data flow between two entities such as a client and server, but it does not interpret malformed HTTP requests or responses in ways that are consistent with how the messages will be processed by those entities that are at the ultimate destination.

HTTP requests or responses (messages) can be malformed or unexpected in ways that cause web servers or clients to interpret the messages in different ways than intermediary HTTP agents such as load balancers, reverse proxies, web caching proxies, application firewalls, etc. For example, an adversary may be able to add duplicate or different header fields that a client or server might interpret as one set of messages, whereas the intermediary might interpret the same sequence of bytes as a different set of messages. For example, discrepancies can arise in how to handle duplicate headers like two Transfer-encoding (TE) or two Content-length (CL), or the malicious HTTP message will have different headers for TE and CL. The inconsistent parsing and interpretation of messages can allow the adversary to smuggle a message to the client/server without the intermediary being aware of it. This weakness is usually the result of the usage of outdated or incompatible HTTP protocol versions in the HTTP agents.

We track 174 vulnerabilities of this type. 99% are rated high or critical, and the average CVSS score is 8.4. 5 have been exploited in real attacks.

How this weakness is prevented

  • Implementation: Use a web server that employs a strict HTTP parsing procedure, such as Apache.
  • Implementation: Terminate the client session after each request.

Latest Inconsistent Interpretation of HTTP Requests vulnerabilities

  • 7.5 High severity

    Apache Sling Engine: Interpretation Conflict

    CVE-2026-103866Apache

    Inconsistent interpretation of HTTP requests ('HTTP Request/Response smuggling') vulnerability in Apache Sling Engine. The engine's query/form parser accepts non-standard percent-escapes, wrong charsets, and continues request processing on such errors. This is

  • 9.1 Critical severity

    echo: Inconsistent Interpretation of HTTP Requests

    CVE-2026-118264Labstack

    Echo is a Go web framework. From 4.0.0 until 4.16.1 and 5.4.1, Echo's Proxy middleware selects a raw tunnel from a client WebSocket upgrade request before verifying that the configured upstream accepted the upgrade. If the upstream rejects the upgrade with an

  • 7.5 High severity

    GitLab: Inconsistent Interpretation of HTTP Requests

    CVE-2026-112212GitLab

    GitLab has remediated an issue in GitLab CE/EE affecting all versions from 18.3 before 19.3.6, 19.4 before 19.4.3, and 19.5 before 19.5.1 that, under certain conditions, an unauthenticated user could have poisoned a shared cache's OAuth/OIDC discovery document

  • 9.3 Critical severity

    Apache Traffic Server: Inconsistent Interpretation of HTTP Requests

    CVE-2026-111809Apache

    Apache Traffic Server allows request smuggling via HEAD requests that carry Content-Length or Transfer-Encoding. This issue affects Apache Traffic Server: from 8.0.0 through 8.1.11, from 9.0.0 through 9.2.15, from 10.0.0 through 10.1.4, 10.2.0. Users are recom

  • 9.3 Critical severity

    Apache Traffic Server: Inconsistent Interpretation of HTTP Requests

    CVE-2026-111816Apache

    Apache Traffic Server forwarded a malformed 302 response that should have been rejected as a parse error, because the Transfer-Encoding: chunked carve-out bypassed the rejection path. A response that two peers can read differently is then stored and served, al

  • 8.7 High severity

    Apache Traffic Server: Inconsistent Interpretation of HTTP Requests

    CVE-2025-55702Apache

    When a client sends a POST with Expect: 100-continue and the origin answers before reading the body, Apache Traffic Server parses the unread body left on the client connection as the next request. An attacker behind a front-end proxy that shares connections to

  • 8.9 High severity

    Apache Traffic Server: Inconsistent Interpretation of HTTP Requests

    CVE-2025-31699Apache

    Apache Traffic Server can return an origin connection to the shared pool while the origin is still waiting on a request body the client declared but never fully sent, including when the client used Expect: 100-continue. The origin then reads a later request on

  • 7.5 High severity

    Apache bRPC: Inconsistent Interpretation of HTTP Requests

    CVE-2026-86146Apache

    Inconsistent interpretation of HTTP requests (HTTP request/response smuggling) in the bundled HTTP/1.1 parser of Apache bRPC (version < 1.18.0) on all platforms allows remote attackers to smuggle requests and inject headers when bRPC is deployed behind a proxy

  • 8.7 High severity

    https://github.com/cloudflare/pingora: Inconsistent Interpretation of HTTP Requests

    CVE-2026-105299Cloudflare

    Summary Before version 0.9.0, the HTTP/1 upstream path in pingora-proxy passed the downstream request through upstream_request_filter and wrote it to the upstream without removing the client's Connection header, other hop-by-hop headers, or the headers Connect

  • 7.1 High severity

    pupnp: Integer Overflow or Wraparound

    CVE-2026-57488Pupnp

    pupnp is an SDK for development of UPnP device and control point applications. Prior to 2.0.2, raw_to_int in upnp/src/genlib/net/http/httpparser.c parses Content-Length with strtol and casts the resulting long to a 32-bit int before the caller stores it as uns

  • 7.2 High severity

    Red Hat Hardened Images: Inconsistent Interpretation of HTTP Requests

    CVE-2026-88829Red Hat

    A flaw was found in BusyBox httpd's reverse proxy feature. When the proxy is configured to forward requests matching a URL prefix to a backend server, only the first HTTP request on a TCP connection has its path rewritten. An attacker can send a pipelined seco

  • 9.4 Critical severity

    ASP.NET Core 10.0: Inconsistent Interpretation of HTTP Requests

    CVE-2026-88092MicrosoftEPSS 1.04%

    Inconsistent interpretation of http requests ('http request/response smuggling') in ASP.NET Core allows an unauthorized attacker to perform tampering over a network.

  • 9.1 Critical severity

    ASP.NET Core 10.0: Inconsistent Interpretation of HTTP Requests

    CVE-2026-70188MicrosoftEPSS 1.03%

    Inconsistent interpretation of http requests ('http request/response smuggling') in ASP.NET Core allows an unauthorized attacker to bypass a security feature over a network.

  • 7.7 High severity

    squid: Inconsistent Interpretation of HTTP Requests

    CVE-2026-61642Squid-cacheEPSS 2.04%

    Squid is a caching proxy for the Web. From 3.3.0.1 to before 7.6, due to an improper enforcement of behavioral workflow bug, Squid is vulnerable to a Request Smuggling attack against HTTP/1.1 Transfer-Encoding. HTTP header parsing (`src/HttpHeader.cc`) accepte

  • 7.5 High severity

    net/http: Inconsistent Interpretation of HTTP Requests

    CVE-2026-94439Go standard library

    When an HTTP server handler sends a 2xx response to an HTTP/1 CONNECT request and returns without hijacking the connection, the server improperly continues to read and serve requests from the connection. Since a 2xx response to an HTTP/1 CONNECT converts the c

  • 7.5 High severity

    net/http: Inconsistent Interpretation of HTTP Requests

    CVE-2026-78660Go standard library

    Historically, we have been rather lax about malformed framing-related headers in our HTTP/2 implementation, as they cannot interfere with HTTP/2 framing. However, this makes it possible for our HTTP/2 implementation to forward responses containing such headers

  • 7.5 High severity

    net/http: Inconsistent Interpretation of HTTP Requests

    CVE-2026-56866Go standard library

    When http.Transport sends an HTTP/1 CONNECT request with a non-empty Request.Body, it writes the body directly to the connection without framing after the request headers. If the server rejects the CONNECT request with a non-2xx keep-alive response, Transport

  • 7.5 High severity

    Apache HTTP Server: Inconsistent Interpretation of HTTP Requests

    CVE-2026-63718Apache

    Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling') response smuggling vulnerability in Apache HTTP Server via mod_proxy_uwsgi and a crafted uwsgi response with Transfer-Encoding. This issue affects Apache HTTP Server: from 2.4.30

  • 10.0 Critical severity

    ADC: Inconsistent Interpretation of HTTP Requests

    CVE-2026-88773Citrix NetScalerEPSS 3.08%

    Inconsistent interpretation of HTTP requests ('HTTP Request/Response smuggling') vulnerability in Citrix NetScaler ADC and Citrix NetScaler Gateway. This issue affects ADC: before 14.1-73.37, before 13.1-64.23, before 14.1-73.37 FIPS, and before 13.1-37.279 an

  • 7.3 High severity

    netty: Inconsistent Interpretation of HTTP Requests

    CVE-2026-100666Netty

    Netty's HttpServerCodec (io.netty:netty-codec-http) in versions 4.2.0.Final through 4.2.16.Final and in versions up to and including 4.1.136.Final pairs each outbound response with an inbound request by calling pollMethod() once per response, including for 1xx

  • 9.1 Critical severity

    Apache Tomcat: Inconsistent Interpretation of HTTP Requests

    CVE-2026-86350Apache

    Inconsistent interpretation of HTTP/2 requests ('HTTP Request/Response smuggling') vulnerability in Apache Tomcat caused by a regression in fix for CVE-2026-41293 can trigger request header mix-up. This issue affects Apache Tomcat: from 11.0.22 through 11.0.25

  • 7.5 High severity

    envoy: Inconsistent Interpretation of HTTP Requests

    CVE-2026-73548Envoyproxy

    Envoy is an open source edge and service proxy designed for cloud-native applications. Prior to 1.36.10, 1.37.6, 1.38.4, and 1.39.1, Envoy forwards data for a configured non-WebSocket HTTP upgrade before the upstream accepts the upgrade. An unauthenticated HTT

  • 8.2 High severity

    Red Hat Build of Apache Camel 3.33.3.SP2: Inconsistent Interpretation of HTTP Requests

    CVE-2026-93569Red HatEPSS 2.42%

    A flaw was found in Netty. A remote unauthenticated attacker can exploit a vulnerability in Netty's HTTP/1 to HTTP/2 conversion process. When an HTTP/1 request includes both an absolute-form request-target and a conflicting Host header, Netty incorrectly prior

  • 9.8 Critical severity

    Thunderbird: Inconsistent Interpretation of HTTP Requests

    CVE-2026-92238Mozilla

    A maliciously constructed mail header could lead to multiple fields being parsed as one, or potential memory safety violations. This vulnerability was fixed in Thunderbird 156, Thunderbird 140.16, and Thunderbird 153.3.

  • 8.7 High severity

    http4s: Inconsistent Interpretation of HTTP Requests

    CVE-2026-69217Http4s

    Http4s is a Scala interface for HTTP services. Prior to 0.23.35 and 1.0.0-M47, Ember’s HTTP/1.1 parser accepts differing duplicate Content-Length headers and uses the last value instead of rejecting the message. When an Ember server is behind a keep-alive inte

  • 8.7 High severity

    http4s: Inconsistent Interpretation of HTTP Requests

    CVE-2026-69205Http4s

    Http4s is a Scala interface for HTTP services. Prior to 0.23.35 and 1.0.0-M47, Ember’s HeaderP.parse uses a case-sensitive substring test for the Transfer-Encoding value and decodes header bytes with the platform default charset. Values such as Chunked are not

  • 9.2 Critical severity

    http4s: Inconsistent Interpretation of HTTP Requests

    CVE-2026-69204Http4s

    Http4s is a Scala interface for HTTP services. Prior to 0.23.35 and 1.0.0-M47, Ember HTTP/1.1 does not reject messages containing both Transfer-Encoding and Content-Length, so an intermediary and Ember can select different body framing rules. When ember-server

  • 7.5 High severity

    tornado: Inconsistent Interpretation of HTTP Requests

    CVE-2024-14029Tornadoweb

    Tornado before 6.4.1 ignores duplicate Transfer-Encoding: chunked headers, treating requests as having no message body and parsing the chunked body as a subsequent request. Attackers can exploit this inconsistency when Tornado is deployed behind proxies to per

  • 7.5 High severity

    tornado: Inconsistent Interpretation of HTTP Requests

    CVE-2023-54397Tornadoweb

    Tornado before 6.3.3 contains an HTTP request smuggling vulnerability due to improper parsing of Content-Length headers accepting non-standard characters. Attackers can send crafted HTTP requests with these characters to bypass proxy validation and smuggle req

  • 7.4 High severity

    blaze: Inconsistent Interpretation of HTTP Requests

    CVE-2026-73494Http4s

    blaze is a Scala library for building asynchronous pipelines, with a focus on network IO. Prior to 0.23.18 and from 1.0.0-M1 until 1.0.0-M42, five HTTP/1.1 conformance laxities in the hand-written Java parser under http/src/main/java/org/http4s/blaze/http/pars

  • 8.2 High severity

    traefik: Inconsistent Interpretation of HTTP Requests

    CVE-2026-88009Traefik

    Traefik is an open source HTTP reverse proxy and load balancer. Prior to 2.11.57, and 3.7.13, Traefik accepts a rootless HTTP/1 request target that Go stores in URL.Opaque while leaving URL.Path empty. The rewriteRequestBuilder path evaluates routing, path san

  • 9.1 Critical severity

    traefik: Inconsistent Interpretation of HTTP Requests

    CVE-2026-88008Traefik

    Traefik is an open source HTTP reverse proxy and load balancer. From 2.11.26 until 2.11.57 and 3.7.13, Traefik forwards a client-supplied Connection header requesting Upgrade, the Upgrade: h2c token, and HTTP2-Settings to a shared backend. If the backend accep

  • 8.2 High severity

    Visual Studio Code: Inconsistent Interpretation of HTTP Requests

    CVE-2026-81356Microsoft

    Inconsistent interpretation of http requests ('http request/response smuggling') in Visual Studio Code allows an unauthorized attacker to bypass a security feature over a network.

  • 8.3 High severity

    Eclipse Jetty: Inconsistent Interpretation of HTTP Requests

    CVE-2026-19203Eclipse Foundation

    A client may issue specially crafted HTTP/1.1 chunked requests to a Jetty server that cause Jetty and an intermediary proxy to interpret different request boundaries, potentially resulting in HTTP request smuggling. This is caused by Jetty accepting a lone LF

  • 8.3 High severity

    OTP: Inconsistent Interpretation of HTTP Requests

    CVE-2026-73812Erlang

    httpd function check_header/3 rejects duplicate Content-Length (per CVE-2026-23941) but never checks for the TE+CL co-presence that RFC 9112 §6.3 identifies as a probable smuggling attempt. handle_body/3 frames by chunked and silently discards Content-Length.

  • 8.3 High severity

    OTP: Inconsistent Interpretation of HTTP Requests

    CVE-2026-73276Erlang

    Gracefulness code ignored cases that should be rejected, resulting in possible HTTP Request Smuggling opportunities. This issue affects OTP from OTP 22.2 before OTP 27.3.4.17, OTP 28.5.0.6, and OTP 29.0.6, corresponding to inets from 7.1.2 before 9.3.2.7, 9.6.

  • 8.3 High severity

    OTP: Inconsistent Interpretation of HTTP Requests

    CVE-2026-66357Erlang

    httpd has never implemented obs-fold (RFC 2616 §2.2 / RFC 7230 §3.2.4 header continuation lines). Every CRLF followed by a non-CRLF octet unconditionally starts a new header. This missing feature became a security concern as the understanding of HTTP request s

  • 7.5 High severity

    Apache APISIX: Inconsistent Interpretation of HTTP Requests

    CVE-2026-74848Apache

    Inconsistent Interpretation of HTTP Requests ('HTTP Request/Response Smuggling') vulnerability in Apache APISIX. An attacker could make other clients receive attacker-chosen or other users' responses on serverless-plugin routes. This issue affects Apache APISI

  • 9.1 Critical severity

    mongoose: Inconsistent Interpretation of HTTP Requests

    CVE-2026-73257Cesanta

    Mongoose is an embedded web server and network library. Priro to version 7.22, a remote unauthenticated attacker can send an HTTP request containing both Content-Length and Transfer-Encoding: chunked. The cl_count and te_count checks in the mg_http_parse() and

  • 9.1 Critical severity

    mongoose: Inconsistent Interpretation of HTTP Requests

    CVE-2026-73256Cesanta

    Mongoose is an embedded web server and network library. Prior to 7.22, a remote unauthenticated attacker can exploit an HTTP/1.0 reverse-proxy deployment by sending a request with Transfer-Encoding: chunked and conflicting framing. The http_cb() function in sr