Cyber Risks · PortSwigger Research

HTTP/2-exclusive vectors

Summary: PortSwigger Research documents HTTP/2-exclusive injection vectors that are impossible to construct in HTTP/1 due to its text-based syntax, including smuggling extra headers through colon-and-CRLF combinations in header names and abusing the five pseudo-headers (:method, :path, :authority, :scheme, :status) when servers downgrade requests to HTTP/1. The research notes these requests are officially prohibited by the HTTP/2 specification, but some servers fail to validate and block them effectively, and the attacks require Burp's specialized HTTP/2 Inspector panel features.

What's compelling: When a front-end accepts HTTP/2 and rewrites to HTTP/1 for the back-end, a header name containing a colon and CRLF, a duplicate Host alongside :authority, or two distinct paths can slip past front-end filters and be interpreted as separate headers or a different request line on the back-end - opening Host header attacks and access to endpoints your access controls meant to block.

Read the original at PortSwigger Research ↗

Topics
Vulnerabilities & Patching
Related