HistoryEdit

RUSTSEC-2021-0020

Multiple Transfer-Encoding headers misinterprets request payload

Issued
Package
hyper (crates.io)
Type
Vulnerability
Categories
Keywords
#http #request-smuggling
Aliases
Details
https://github.com/hyperium/hyper/security/advisories/GHSA-6hfq-h8hq-87mf
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".