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
High
Integrity
High
Availability
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.