Miggo Logo

CVE-2022-23495: go-merkledag's ProtoNode may be modified such that common method calls may panic

7.5

CVSS Score
3.1

Basic Information

EPSS Score
0.4063%
Published
12/8/2022
Updated
2/9/2023
KEV Status
No
Technology
TechnologyGo

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
github.com/ipfs/go-merkledaggo>= 0.4.0, < 0.8.10.8.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stemmed from ProtoNode modifier methods (SetCidBuilder, SetLinks) allowing invalid states, and output methods (Cid, RawData) panicking when encoding failed. The patches added error returns to SetCidBuilder/SetLinks and replaced panics with defaults in Cid/RawData. GitHub advisories and CVE details explicitly reference these functions, and the associated PRs (#91, #92, #93) modified them to address the issues.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Imp**t * `ProtoNo**` m*y ** mo*i*i** in su** * w*y *s to **us* v*rious *n*o** *rrors w*i** will tri***r * p*ni* on *ommon m*t*o* **lls t**t *on't *llow *or *rror r*turns. * `ProtoNo**` s*oul* only ** **l* to *n*o** to v*li* ***-P*, *tt*mptin* t

Reasoning

T** vuln*r**ility st*mm** *rom ProtoNo** mo*i*i*r m*t*o*s (`S*t*i**uil**r`, `S*tLinks`) *llowin* inv*li* st*t*s, *n* output m*t*o*s (`*i*`, `R*w**t*`) p*ni*kin* w**n *n*o*in* **il**. T** p*t***s ***** *rror r*turns to `S*t*i**uil**r`/`S*tLinks` *n* r