Miggo Logo

CVE-2024-45311: Denial of service in quinn-proto when using `Endpoint::retry()`

7.5

CVSS Score
3.1

Basic Information

EPSS Score
0.34359%
Published
9/3/2024
Updated
9/9/2024
KEV Status
No
Technology
TechnologyRust

Technical Details

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

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from improper CID handling in connection state management. Key issues were:

  1. clean_up_incoming used orig_dst_cid instead of current packet's dst_cid
  2. remove_initial didn't validate CID length or existence
  3. The retry path combined these issues by creating state mismatches Commit changes show fixes to use packet.header.dst_cid, add CID length checks, and insert debug assertions - confirming these were the vulnerable points.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Summ*ry *s o* quinn-proto *.**, it is possi*l* *or * s*rv*r to `****pt()`, `r*try()`, `r**us*()`, or `i*nor*()` *n `In*omin*` *onn**tion. *ow*v*r, **llin* `r*try()` on *n unv*li**t** *onn**tion *xpos*s t** s*rv*r to * lik*ly p*ni* in t** *ollowi

Reasoning

T** vuln*r**ility st*mm** *rom improp*r *I* **n*lin* in *onn**tion st*t* m*n***m*nt. K*y issu*s w*r*: *. *l**n_up_in*omin* us** ori*_*st_*i* inst*** o* *urr*nt p**k*t's *st_*i* *. r*mov*_initi*l *i*n't v*li**t* *I* l*n*t* or *xist*n** *. T** r*try p*