Miggo Logo

CVE-2025-52520: Apache Tomcat Catalina is vulnerable to DoS attack through bypassing of size limits

7.5

CVSS Score
3.1

Basic Information

EPSS Score
0.11189%
Published
7/10/2025
Updated
7/11/2025
KEV Status
No
Technology
TechnologyJava

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
org.apache.tomcat:tomcat-catalinamaven>= 11.0.0-M1, < 11.0.911.0.9
org.apache.tomcat:tomcat-catalinamaven>= 10.1.0-M1, < 10.1.4310.1.43
org.apache.tomcat:tomcat-catalinamaven>= 9.0.0.M1, < 9.0.1079.0.107

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability lies in the parseParts method within the org.apache.catalina.connector.Request class. The core of the issue is an integer overflow vulnerability. The postSize variable, which accumulates the size of the parts of a multipart request, was declared as an int. For very large uploads, this variable could overflow, wrapping around to a small or negative value. This would cause the check against maxPostSize to pass, even though the actual size of the request is much larger. This allows an attacker to bypass the intended size limits, potentially leading to a Denial of Service by exhausting server resources (disk space or memory). The provided patches clearly show the fix: changing the postSize variable to a long and using Math.addExact for calculations to prevent overflow by throwing an exception if the result exceeds the capacity of a long. All three supplied commits point to this exact same change in different branches of the Apache Tomcat codebase, confirming this is the single vulnerable function.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

*or som* unlik*ly *on*i*ur*tions o* multip*rt uplo**, *n Int***r Ov*r*low vuln*r**ility in *p**** Tom**t *oul* l*** to * *oS vi* *yp*ssin* o* siz* limits. T*is issu* *****ts *p**** Tom**t: *rom **.*.*-M* t*rou** **.*.*, *rom **.*.*-M* t*rou** **.*.*

Reasoning

T** vuln*r**ility li*s in t** `p*rs*P*rts` m*t*o* wit*in t** `or*.*p****.**t*lin*.*onn**tor.R*qu*st` *l*ss. T** *or* o* t** issu* is *n int***r ov*r*low vuln*r**ility. T** `postSiz*` v*ri**l*, w*i** ***umul*t*s t** siz* o* t** p*rts o* * multip*rt r*