From 0f9c0f5801fb3721a5b6e5efb492f942b6ffbd5e Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Fri, 13 May 2022 09:20:13 +0200 Subject: [PATCH] MINOR: mux-h1: Add global option accpet payload for any HTTP/1.0 requests Since the 2.5, for security reason, HTTP/1.0 GET/HEAD/DELETE requests with a payload are rejected (See e136bd12a "MEDIUM: mux-h1: Reject HTTP/1.0 GET/HEAD/DELETE requests with a payload" for details). However it may be an issue for old clients. To avoid any compatibility issue with such clients, "h1-accept-payload-with-any-method" global option was added. It must only be set if there is a good reason to do so because it may lead to a request smuggling attack on some servers or intermediaries. This patch should solve the issue #1691. it may be backported to 2.5. --- doc/configuration.txt | 15 +++++++++++++++ src/mux_h1.c | 27 ++++++++++++++++++++------- 2 files changed, 35 insertions(+), 7 deletions(-) diff --git a/doc/configuration.txt b/doc/configuration.txt index d5283270c..96210d802 100644 --- a/doc/configuration.txt +++ b/doc/configuration.txt @@ -1013,6 +1013,7 @@ The following keywords are supported in the "global" section : - httpclient.resolvers.prefer - httpclient.ssl.ca-file - httpclient.ssl.verify + - h1-accept-payload-with-any-method - h1-case-adjust - h1-case-adjust-file - insecure-fork-wanted @@ -1450,6 +1451,20 @@ hard-stop-after