Miggo Logo

CVE-2021-21299: HTTP Request Smuggling in hyper

4.8

CVSS Score
3.1

Basic Information

EPSS Score
0.67848%
Published
8/25/2021
Updated
1/11/2023
KEV Status
No
Technology
TechnologyRust

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:L/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
hyperrust>= 0.14.0, < 0.14.30.14.3
hyperrust>= 0.13.0, < 0.13.100.13.10
hyperrust>= 0.12.0, < 0.12.360.12.36

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from HTTP/1 request parsing logic in role.rs where Transfer-Encoding headers are processed. The commit diff shows an added 'else { is_te_chunked = false; }' clause that fixes improper handling of multiple headers. Before this fix, the code would retain 'is_te_chunked=true' if any Transfer-Encoding header contained 'chunked', rather than only considering the last header. This matches the vulnerability description of accepting invalid combinations of Transfer-Encoding headers.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

### Summ*ry *yp*r's *TTP s*rv*r *o** *** * *l*w t**t in*orr**tly un**rst*n*s som* r*qu*sts wit* multipl* tr*ns**r-*n*o*in* *****rs to **v* * **unk** p*ylo**, w**n it s*oul* **v* ***n r*j**t** *s ill***l. T*is *om*in** wit* *n upstr**m *TTP proxy t**

Reasoning

T** vuln*r**ility st*ms *rom *TTP/* r*qu*st p*rsin* lo*i* in rol*.rs w**r* Tr*ns**r-*n*o*in* *****rs *r* pro**ss**. T** *ommit *i** s*ows *n ***** '*ls* { is_t*_**unk** = **ls*; }' *l*us* t**t *ix*s improp*r **n*lin* o* multipl* *****rs. ***or* t*is