HistoryEditJSON (OSV)

RUSTSEC-2021-0020

Multiple Transfer-Encoding headers misinterprets request payload

Reported
Issued
Package
hyper (crates.io)
Type
Vulnerability
Categories
Keywords
#http #request-smuggling
Aliases
References
CVSS Score
8.1 HIGH
CVSS Details
Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality Impact
High
Integrity Impact
High
Availability Impact
High
CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
Patched
  • >=0.14.3
  • ^0.13.10
  • ^0.12.36
Unaffected
  • <0.12.0

Description

hyper's HTTP server code had a flaw that incorrectly understands some requests with multiple transfer-encoding headers to have a chunked payload, when it should have been rejected as illegal. This combined with an upstream HTTP proxy that understands the request payload boundary differently can result in "request smuggling" or "desync attacks".

Advisory available under CC0-1.0 license.