Bug ID 1166261: HTTP/2 should not translate "Host" header to ":authority" pseudo-header in response

Last Modified: Sep 25, 2024

Affected Product(s):
BIG-IP LTM(all modules)

Known Affected Versions:
14.1.5, 14.1.5.1, 14.1.5.2, 14.1.5.3, 14.1.5.4, 14.1.5.6, 15.1.3, 15.1.3.1, 15.1.4, 15.1.4.1, 15.1.5, 15.1.5.1, 15.1.6, 15.1.6.1, 15.1.7, 15.1.8, 15.1.8.1, 15.1.8.2, 15.1.9, 15.1.9.1, 15.1.10, 15.1.10.2, 15.1.10.3, 15.1.10.4, 15.1.10.5, 16.1.3, 16.1.3.1, 16.1.3.2, 16.1.3.3, 16.1.3.4, 16.1.3.5, 16.1.4, 16.1.4.1, 16.1.4.2, 16.1.4.3, 16.1.5

Opened: Oct 03, 2022

Severity: 3-Major

Symptoms

BIG-IP inserts ":authority" pseudo-header within client-side response when receiving a server response containing a Host header in the response. Host header in a HTTP/1.1 response is not in violation of RFC; however, a HTTP/2 response with an ":authority" pseudo-header is in violation of RFC7540.

Impact

HTTP/2 response must only have the ":status" pseudo-header in the response. HTTP/2 responses containing any other pseudo-headers, such as ":authority", is considered malformed and those connections will be rejected.

Conditions

Virtual server with a HTTP/2 profile applied with client-side context. This configuration would translate HTTP/2 requests from client-side to HTTP/1.1 on server-side.

Workaround

Consider using an iRule to remove the Host header when it arrives from the server. The following iRule can be created and applied to the virtual server: when HTTP_RESPONSE { HTTP::header remove Host }

Fix Information

None

Behavior Change

Guides & references

K10134038: F5 Bug Tracker Filter Names and Tips