Skip to content
OpenAdvisories

Weakness (CWE)

CWE-444: Inconsistent Interpretation of HTTP Requests

Base Incomplete

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.

More detail

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.

How to prevent it (4 mitigations)
  1. Implementation

    Use a web server that employs a strict HTTP parsing procedure, such as Apache [REF-433].

  2. Implementation

    Use only SSL communication.

  3. Implementation

    Terminate the client session after each request.

  4. System Configuration

    Turn all pages to non-cacheable.

Source: MITRE CWE-444

124 results · Clear filters · Feed

  • High 8.3

    twisted.web has disordered HTTP pipeline response

    Twisted is an event-based framework for internet applications, supporting Python 3.6+. The HTTP 1.0 and 1.1 server provided by twisted.web could process pipelined HTTP requests out-of-order, possibly resulting in information disclosure. This vulnerability is …

  • High 7.5

    Apache Traffic Server: Incomplete field name check allows request smuggling

    Apache Traffic Server accepts characters that are not allowed for HTTP field names and forwards malformed requests to origin servers. This can be utilized for request smuggling and may also lead cache poisoning if the origin servers are vulnerable. This issue…

  • High 8.6

    Symantec Privileged Access Manager Remote Command Execution vulnerability

    This vulnerability allows a high-privileged authenticated PAM user to achieve remote command execution on the affected PAM system by sending a specially crafted HTTP request.

  • High 8.8

    PingAccess HTTP Request Desynchronization Weakness

    HTTP request desynchronization in Ping Identity PingAccess, all versions prior to 8.0.1 affected allows an attacker to send specially crafted http header requests to create a request smuggling condition for proxied requests.

  • High 7.5

    Next.js Vulnerable to HTTP Request Smuggling

    Next.js is a React framework that can provide building blocks to create web applications. Prior to 13.5.1, an inconsistent interpretation of a crafted HTTP request meant that requests are treated as both a single request, and two separate requests by Next.js,…

  • High 7.5

    Vulnerability in the Oracle Production Scheduling product of Oracle E-Business Suite (component: Import Utility). Suppo…

  • High 7.5

    HTTP Request Smuggling in benoitc/gunicorn

    Gunicorn fails to properly validate Transfer-Encoding headers, leading to HTTP Request Smuggling (HRS) vulnerabilities. By crafting requests with conflicting Transfer-Encoding headers, attackers can bypass security restrictions and access restricted endpoints…

  • High 7.1

    SMTP smuggling in Apache James

    Apache James prior to versions 3.8.1 and 3.7.5 is vulnerable to SMTP smuggling. A lenient behaviour in line delimiter handling might create a difference of interpretation between the sender and the receiver which can be exploited by an attacker to forge an SM…

  • High 7.5

    Apache bRPC: HTTP request smuggling vulnerability

    Request smuggling vulnerability in HTTP server in Apache bRPC 0.9.5~1.7.0 on all platforms allows attacker to smuggle request. Vulnerability Cause Description: The http_parser does not comply with the RFC-7230 HTTP 1.1 specification. Attack scenario: If a mes…

  • High 7.5

    chasquid HTTP Request/Response Smuggling vulnerability

    chasquid before 1.13 allows SMTP smuggling because LF-terminated lines are accepted.

  • High 7.5

    Apache Tomcat: HTTP request smuggling via malformed trailer headers

    Improper Input Validation vulnerability in Apache Tomcat.Tomcat from 11.0.0-M1 through 11.0.0-M10, from 10.1.0-M1 through 10.1.15, from 9.0.0-M1 through 9.0.82 and from 8.5.0 through 8.5.95 did not correctly parse HTTP trailer headers. A trailer header that e…

  • High 7.3

    Inconsistent Interpretation of HTTP Requests in puma

    Puma is a Ruby/Rack web server built for parallelism. Prior to versions 6.3.1 and 5.6.7, puma exhibited incorrect behavior when parsing chunked transfer encoding bodies and zero-length Content-Length headers in a way that allowed HTTP request smuggling. Sever…

  • High 8.6

    Request smuggling and request concatenation in SAP Web Dispatcher

    An unauthenticated attacker in SAP Web Dispatcher - versions WEBDISP 7.49, WEBDISP 7.53, WEBDISP 7.54, WEBDISP 7.77, WEBDISP 7.81, WEBDISP 7.85, WEBDISP 7.88, WEBDISP 7.89, WEBDISP 7.90, KERNEL 7.49, KERNEL 7.53, KERNEL 7.54 KERNEL 7.77, KERNEL 7.81, KERNEL 7…

  • High 7.3
    CVE-2023-25950 Public exploit

    HTTP request/response smuggling vulnerability in HAProxy version 2.7.0, and 2.6.1 to 2.6.7 allows a remote attacker to …

  • High 7.5

    Apache HTTP Server: mod_proxy_uwsgi HTTP response splitting

    HTTP Response Smuggling vulnerability in Apache HTTP Server via mod_proxy_uwsgi. This issue affects Apache HTTP Server: from 2.4.30 through 2.4.55. Special characters in the origin response header can truncate/split the response forwarded to the client.

  • High 8.1

    Dell EMC PV ME5, versions ME5.1.0.0.0 and ME5.1.0.1.0, contains a Client-side desync Vulnerability. An unauthenticated …

  • High 7.5

    Request smuggling due to improper request handling in golang.org/x/net/http2/h2c

    A request smuggling attack is possible when using MaxBytesHandler. When using MaxBytesHandler, the body of an HTTP request is not fully consumed. When the server attempts to read HTTP2 frames from the connection, it will instead be reading the body of the HTT…

  • High 7.5
    CVE-2022-45059 Public exploit

    An issue was discovered in Varnish Cache 7.x before 7.1.2 and 7.2.x before 7.2.1. A request smuggling attack can be per…

  • High 7.5

    Apache Tomcat request smuggling via malformed content-length

    If Apache Tomcat 8.5.0 to 8.5.82, 9.0.0-M1 to 9.0.67, 10.0.0-M1 to 10.0.26 or 10.1.0-M1 to 10.1.0 was configured to ignore invalid HTTP headers via setting rejectIllegalHeader to false (the default for 8.5.x only), Tomcat did not reject a request containing a…

  • High 7.2

    HTTP Host Header Attack Vulnerability in laminas-diactoros

    laminas-diactoros is a PHP package containing implementations of the PSR-7 HTTP message interfaces and PSR-17 HTTP message factory interfaces. Applications that use Diactoros, and are either not behind a proxy, or can be accessed via untrusted proxies, can po…

  • High 7.3

    Inconsistent Interpretation of HTTP Requests ('HTTP Request Smuggling') in HTTP::Daemon

    HTTP::Daemon is a simple http server class written in perl. Versions prior to 6.15 are subject to a vulnerability which could potentially be exploited to gain privileged access to APIs or poison intermediate caches. It is uncertain how large the risks are, mo…

  • High 8.1

    HTTP Request Smuggling in twisted.web

    Twisted is an event-based framework for internet applications, supporting Python 3.6+. Prior to version 22.4.0rc1, the Twisted Web HTTP 1.1 server, located in the `twisted.web.http` module, parsed several HTTP request constructs more leniently than permitted …

  • High 7.5

    HTTP Request Smuggling in waitress

    Waitress is a Web Server Gateway Interface server for Python 2 and 3. When using Waitress versions 2.1.0 and prior behind a proxy that does not properly validate the incoming HTTP request matches the RFC7230 standard, Waitress and the frontend proxy may disag…

  • High 8.6

    Umbraco Remote ApplicationURL Overwrite

    Within the Umbraco CMS, a configuration element named "UmbracoApplicationUrl" (or just "ApplicationUrl") is used whenever application code needs to build a URL pointing back to the site. For example, when a user resets their password and the application build…

  • High 7.5

    HTTP Request Smuggling in github.com/hyperledger/fabric

    A vulnerability has been detected in HyperLedger Fabric v1.4.0, v2.0.0, v2.0.1, v2.3.0. It can easily break down as many orderers as the attacker wants. This bug can be leveraged by constructing a message whose header is invalid to the interface Order. This b…

  • High 8.2

    An issue was discovered in zeek version 4.1.0. There is a HTTP request splitting vulnerability that will invalidate any…

  • High 8.1
    CVE-2021-39214 Public exploit

    Lacking Protection against HTTP Request Smuggling in mitmproxy

    mitmproxy is an interactive, SSL/TLS-capable intercepting proxy. In mitmproxy 7.0.2 and below, a malicious client or server is able to perform HTTP request smuggling attacks through mitmproxy. This means that a malicious client/server could smuggle a request/…

  • High 8.9

    SAP Web Dispatcher versions - 7.49, 7.53, 7.77, 7.81, KRNL64NUC - 7.22, 7.22EXT, 7.49, KRNL64UC -7.22, 7.22EXT, 7.49, 7…

  • High 7.5

    HTTP Request Smuggling in actix-http

    An issue was discovered in the actix-http crate before 3.0.0-beta.9 for Rust. HTTP/1 request smuggling (aka HRS) can occur, potentially leading to credential disclosure.

  • High 7.1

    HTTP Response Splitting

    This affects all versions of package github.com/gin-gonic/gin. When gin is exposed directly to the internet, a client's IP can be spoofed by setting the X-Forwarded-For header.

  • High 7.5
    CVE-2020-25613 Public exploit

    WEBRick vulnerable to HTTP Request/Response Smuggling

    An issue was discovered in Ruby through 2.5.8, 2.6.x through 2.6.6, and 2.7.x through 2.7.1. WEBrick, a simple HTTP server bundled with Ruby, had not checked the transfer-encoding header value rigorously. An attacker may potentially exploit this issue to bypa…

  • High 7.5

    HTTP Request Smuggling in goliath

    goliath through 1.0.6 allows request smuggling attacks where goliath is used as a backend and a frontend proxy also being vulnerable. It is possible to conduct HTTP request smuggling attacks by sending the Content-Length header twice. Furthermore, invalid Tra…

  • High 7.5

    HTTP Request Smuggling in reel

    reel through 0.6.1 allows Request Smuggling attacks due to incorrect Content-Length and Transfer encoding header parsing. It is possible to conduct HTTP request smuggling attacks by sending the Content-Length header twice. Furthermore, invalid Transfer Encodi…

  • High 7.5
    CVE-2020-11076 Public exploit

    HTTP Smuggling via Transfer-Encoding Header in Puma

    In Puma (RubyGem) before 4.3.4 and 3.12.5, an attacker could smuggle an HTTP response, by using an invalid transfer-encoding header. The problem has been fixed in Puma 3.12.5 and Puma 4.3.4.

  • High 7.5

    HTTP Request Smuggling in Netty

    Netty 4.1.43.Final allows HTTP Request Smuggling because it mishandles Transfer-Encoding whitespace (such as a [space]Transfer-Encoding:chunked line) and a later Content-Length header. This issue exists because of an incomplete fix for CVE-2019-16869.

  • High 7.1

    HTTP Request Smuggling: Content-Length Sent Twice in Waitress

    Waitress through version 1.3.1 allows request smuggling by sending the Content-Length header twice. Waitress would header fold a double Content-Length header and due to being unable to cast the now comma separated value to an integer would set the Content-Len…

  • High 7.1

    HTTP Request Smuggling in Waitress: Invalid whitespace characters in headers

    In Waitress through version 1.4.0, if a proxy server is used in front of waitress, an invalid request may be sent by an attacker that bypasses the front-end and is parsed differently by waitress leading to a potential for HTTP request smuggling. Specially cra…

  • High —

    HTTP Request Smuggling: Invalid whitespace characters in headers in Waitress

    ### Impact If a proxy server is used in front of waitress, an invalid request may be sent by an attacker that bypasses the front-end and is parsed differently by waitress leading to a potential for HTTP request smuggling. ``` Content-Length: 10 Transfer-Encod…

  • High 7.1

    HTTP Request Smuggling: LF vs CRLF handling in Waitress

    Waitress through version 1.3.1 implemented a "MAY" part of the RFC7230 which states: "Although the line terminator for the start-line and header fields is the sequence CRLF, a recipient MAY recognize a single LF as a line terminator and ignore any preceding C…

  • High 7.1

    HTTP Request Smuggling: Invalid Transfer-Encoding in Waitress

    Waitress through version 1.3.1 would parse the Transfer-Encoding header and only look for a single string value, if that value was not chunked it would fall through and use the Content-Length header instead. According to the HTTP standard Transfer-Encoding sh…