Miggo Logo

GHSA-7p92-x423-vwj6: Plonk verifier KZG multi point verification

N/A

CVSS Score

Basic Information

CVE ID
-
EPSS Score
-
CWE
-
Published
10/17/2023
Updated
1/26/2024
KEV Status
No
Technology
TechnologyGo

Technical Details

CVSS Vector
-
Package NameEcosystemVulnerable VersionsFirst Patched Version
github.com/consensys/gnarkgo< 0.9.10.9.1

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The critical vulnerability existed in the randomness generation within the batch_verify_multi_points function of the Plonk verifier's Solidity implementation. The original code used a truncated state (first 32 bytes) to generate the random challenge, while the patch expanded this to include multiple critical components of the verification state (folded digests, grand product commitments, zeta, gamma_kzg, etc.). This matches the vulnerability description about insufficient Fiat-Shamir transcript hashing. The function is clearly identified in the solidity.go diff where the random generation logic was modified.

Vulnerable functions

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

WAF Protection Rules

WAF Rule

### Imp**t T** vuln*r**ility *llows * t*ir* p*rty to **riv* * v*li* proo* *rom * v*li* initi*l tupl* {proo*, pu*li*_inputs}, *orr*spon*in* to t** s*m* pu*li* inputs *s t** initi*l proo*. It is *u* to * r*n*omn*ss **in* **n*r*t** usin* * sm*ll p*rt o

Reasoning

T** *riti**l vuln*r**ility *xist** in t** r*n*omn*ss **n*r*tion wit*in t** **t**_v*ri*y_multi_points *un*tion o* t** Plonk v*ri*i*r's Soli*ity impl*m*nt*tion. T** ori*in*l *o** us** * trun**t** st*t* (*irst ** *yt*s) to **n*r*t* t** r*n*om ***ll*n**,