Miggo Logo

CVE-2024-8375:
Reverb use after free vulnerability

6

CVSS Score
3.1

Basic Information

EPSS Score
0.16571%
Published
9/19/2024
Updated
9/19/2024
KEV Status
No
Technology
TechnologyPython

Technical Details

CVSS Vector
CVSS:3.1/AV:L/AC:H/PR:L/UI:R/S:C/C:L/I:H/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
dm-reverbpip<= 0.14.0
dm-reverb-nightlypip<= 0.15.0.dev20240214

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from improper handling of VARIANT dtype tensors during serialization/deserialization. The patch adds an IsSupported check to explicitly block VARIANT processing in these functions. Pre-patch versions lacked these safeguards, allowing: 1) Compression of VARIANT tensors (via CompressTensorAsProto) which stores malicious tensor_content, and 2) Decompression (via DecompressTensorFromProto) which reconstructs objects with overwritten vtable pointers. The direct modification of these functions in the security commit and added test cases confirm their central role in the exploit chain.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

T**r* *xists * us* **t*r *r** vuln*r**ility in R*v*r*. R*v*r* supports t** V*RI*NT **t*typ*, w*i** is suppos** to r*pr*s*nt *n *r*itr*ry o*j**t in *++. W**n * t*nsor proto o* typ* V*RI*NT is unp**k**, m*mory is *irst *llo**t** to stor* t** *ntir* t*n

Reasoning

T** vuln*r**ility st*ms *rom improp*r **n*lin* o* `V*RI*NT` *typ* t*nsors *urin* s*ri*liz*tion/**s*ri*liz*tion. T** p*t** ***s *n `IsSupport**` ****k to *xpli*itly *lo*k `V*RI*NT` pro**ssin* in t**s* *un*tions. Pr*-p*t** v*rsions l**k** t**s* s****u*