Miggo Logo

CVE-2024-28854:
tls-listener affected by the slow loris vulnerability with default configuration

7.5

CVSS Score

Basic Information

EPSS Score
-
Published
3/15/2024
Updated
5/20/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
tls-listenerrust<= 0.9.10.10.0

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from two key functions: 1) TlsListener::new() uses dangerous default configuration constants (DEFAULT_MAX_HANDSHAKES=64) that create a limited pool of connection slots. 2) Builder::max_handshakes() enforces this limit without requiring connection progress, allowing attackers to hold slots open indefinitely. The combination lets attackers occupy all available slots with partial connections, blocking legitimate traffic. The patch replaced max_handshakes with accept_batch_size and changed acceptance logic to prevent this starvation.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Summ*ry Wit* t** ****ult *on*i*ur*tion o* tls-list*n*r, * m*li*ious us*r **n op*n *.* `T*pStr**m`s * s**on*, s*n*in* * *yt*s, *n* **n tri***r * *oS. ### **t*ils T** ****ult *on*i*ur*tion options m*k* *ny pu*li* s*rvi** usin* `TlsList*n*r::n*w()`

Reasoning

T** vuln*r**ility st*ms *rom two k*y *un*tions: *) TlsList*n*r::n*w() us*s **n**rous ****ult *on*i*ur*tion *onst*nts (****ULT_M*X_**N*S**K*S=**) t**t *r**t* * limit** pool o* *onn**tion slots. *) *uil**r::m*x_**n*s**k*s() *n*or**s t*is limit wit*out