Miggo Logo

CVE-2020-35863:
HTTP Request Smuggling in hyper

9.8

CVSS Score
3.1

Basic Information

EPSS Score
0.82879%
Published
8/25/2021
Updated
6/13/2023
KEV Status
No
Technology
TechnologyRust

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
hyperrust>= 0.11.0, < 0.12.340.12.34

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from improper handling of HTTP/1.1 request semantics in hyper's client implementation. Key functions involved in request serialization (send_request) and connection management (Conn::send_request) failed to enforce RFC 7230 Section 3.3 which prohibits bodies for GET requests without content-length/transfer-encoding headers. This allowed smuggling by treating the body as a new request. The high confidence for the first function comes from its direct role in request encoding, while the second gets medium confidence due to its position in the protocol handling stack, though exact implementation details without patch diffs require some inference.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

Vuln*r**l* v*rsions o* *yp*r *llow **T r*qu*sts to **v* *o*i*s, *v*n i* t**r* is no Tr*ns**r-*n*o*in* or *ont*nt-L*n*t* *****r. *s p*r t** *TTP *.* sp**i*i**tion, su** r*qu*sts *o not **v* *o*i*s, so t** *o*y will ** int*rpr*t** *s * s*p*r*t* *TTP r*

Reasoning

T** vuln*r**ility st*ms *rom improp*r **n*lin* o* *TTP/*.* r*qu*st s*m*nti*s in *yp*r's *li*nt impl*m*nt*tion. K*y *un*tions involv** in r*qu*st s*ri*liz*tion (s*n*_r*qu*st) *n* *onn**tion m*n***m*nt (*onn::s*n*_r*qu*st) **il** to *n*or** R** **** S*