Miggo Logo

CVE-2023-27530: Rack has possible DoS Vulnerability in Multipart MIME parsing

7.5

CVSS Score
3.1

Basic Information

EPSS Score
0.83115%
Published
3/8/2023
Updated
2/13/2025
KEV Status
No
Technology
TechnologyRuby

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
rackrubygems< 2.0.9.32.0.9.3
rackrubygems>= 2.1.0, < 2.1.4.32.1.4.3
rackrubygems>= 2.2.0, < 2.2.6.32.2.6.3
rackrubygems>= 3.0.0, < 3.0.4.23.0.4.2

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from Rack's multipart parser not limiting total parts while only restricting file parts. The root functions are in Rack::Multipart::Parser, which processes MIME data. The primary parsing loop in #parse would iterate through all parts without a global limit, and boundary handling in #fast_forward_to_first_boundary could exacerbate inefficiencies. These conclusions align with the described vulnerability mechanism (uncontrolled part count leading to DoS) and Rack's known architecture.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

T**r* is * possi*l* *oS vuln*r**ility in t** Multip*rt MIM* p*rsin* *o** in R**k. T*is vuln*r**ility **s ***n *ssi*n** t** *V* i**nti*i*r *V*-****-*****. V*rsions *****t**: *ll. Not *****t**: Non* *ix** V*rsions: *.*.*.*, *.*.*.*, *.*.*.*, *.*.*.*

Reasoning

T** vuln*r**ility st*ms *rom R**k's multip*rt p*rs*r not limitin* tot*l p*rts w*il* only r*stri*tin* *il* p*rts. T** root *un*tions *r* in R**k::Multip*rt::P*rs*r, w*i** pro**ss*s MIM* **t*. T** prim*ry p*rsin* loop in #p*rs* woul* it*r*t* t*rou** *l