Miggo Logo

CVE-2018-20992: Uninitialized memory exposure in claxon

6.5

CVSS Score
3.0

Basic Information

EPSS Score
0.52961%
Published
8/25/2021
Updated
6/13/2023
KEV Status
No
Technology
TechnologyRust

Technical Details

CVSS Vector
CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:N/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
claxonrust>= 0.4.0, < 0.4.10.4.1
claxonrust< 0.3.20.3.2

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems directly from the decode_residual function's handling of residual partitions:

  1. The original code calculated n_samples = block_size >> order without validating divisibility
  2. This could create gaps between partitions when block_size wasn't a multiple of 2^order
  3. The buffer slicing logic (buffer[start..start + len]) would then leave portions uncovered
  4. The commit adds critical validation (block_size & (n_partitions - 1) == 0) to prevent this
  5. The patch modifies this specific function's partition math and adds error checking
  6. All vulnerability descriptions point to residual decoding as the attack vector
  7. No other functions are modified in the security-relevant commit diff

Vulnerable functions

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

WAF Protection Rules

WAF Rule

*****t** v*rsions o* *l*xon m*** *n inv*li* *ssumption **out t** ***o** *u***r siz* **in* * multipl* o* * v*lu* r*** *rom t** *itstr**m. T*is *oul* **us* p*rts o* t** ***o** *u***r to not ** ov*rwritt*n. I* t** ***o** *u***r w*s n*wly *llo**t** *n* u

Reasoning

T** vuln*r**ility st*ms *ir**tly *rom t** ***o**_r*si*u*l *un*tion's **n*lin* o* r*si*u*l p*rtitions: *. T** ori*in*l *o** **l*ul*t** n_s*mpl*s = *lo*k_siz* >> or**r wit*out v*li**tin* *ivisi*ility *. T*is *oul* *r**t* **ps **tw**n p*rtitions w**n *l