Miggo Logo

CVE-2016-6817: Improper Restriction of Operations within the Bounds of a Memory Buffer in Apache Tomcat

7.5

CVSS Score
3.0

Basic Information

EPSS Score
0.64064%
Published
5/14/2022
Updated
10/15/2024
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.apache.tomcat:tomcatmaven>= 9.0.0.M1, <= 9.0.0.M119.0.0.M12
org.apache.tomcat:tomcatmaven>= 8.5.0, < 8.5.88.5.8

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The commit diff shows critical changes in Http2Parser.java's readHeaderPayload() method. The original implementation used a fixed 1024-byte buffer and a loop that subtracted 'payloadSize' without proper buffer expansion. This created an unreachable exit condition when headers exceeded buffer capacity. The patch introduces buffer expansion checks and dynamic resizing (via ByteBufferUtils.expand), confirming the vulnerability stemmed from improper buffer management in this function.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

T** *TTP/* *****r p*rs*r in *p**** Tom**t *.*.*.M* to *.*.*.M** *n* *.*.* to *.*.* *nt*r** *n in*init* loop i* * *****r w*s r***iv** t**t w*s l*r**r t**n t** *v*il**l* *u***r. T*is m*** * **ni*l o* s*rvi** *tt**k possi*l*.

Reasoning

T** *ommit *i** s*ows *riti**l ***n**s in `*ttp*P*rs*r.j*v*`'s `r********rP*ylo**()` m*t*o*. T** ori*in*l impl*m*nt*tion us** * *ix** ****-*yt* *u***r *n* * loop t**t su*tr**t** 'p*ylo**Siz*' wit*out prop*r *u***r *xp*nsion. T*is *r**t** *n unr******