{"id":"CVE-2023-33252","aliases":["EUVD-2023-1652","GHSA-xp5g-jhg3-3rg2"],"status":"published","title":"Double spend in snarkjs","description":"iden3 snarkjs through 0.6.11 allows double spending because there is no validation that the publicSignals length is less than the field modulus.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-10","score":0.00582,"percentile":0.4814,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-862"],"published":"2023-05-21T00:00:00Z","modified":"2026-10-28T02:30:54Z","affected":[{"source":"ghsa","ecosystem":"npm","package":"snarkjs","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"0.6.11"}]}]},{"source":"osv","ecosystem":"npm","package":"snarkjs","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"last_affected":"0.6.11"}]}]}],"products":[{"vendor":"0kims","product":"snarkjs"}],"references":[{"url":"https://github.com/iden3/snarkjs/commits/master/src/groth16_verify.js","tags":["x_transferred","Product","web"]},{"url":"https://github.com/iden3/snarkjs/tags","tags":["x_transferred","Product","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2023-33252","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-xp5g-jhg3-3rg2"},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2023/33xxx/CVE-2023-33252.json","tags":["advisory"]},{"url":"https://github.com/iden3/snarkjs","tags":["package"]}],"sources":{"cve":[{"id":"CVE-2023-33252","description":"iden3 snarkjs through 0.6.11 allows double spending because there is no validation that the publicSignals length is less than the field modulus.","status":"published","published":"2023-05-21T00:00:00Z","modified":"2025-01-21T16:54:23.973Z","cwes":["CWE-862"],"updated_at":"2026-11-02T14:35:34.170609Z"}],"euvd":[{"id":"EUVD-2023-1652","description":"iden3 snarkjs through 0.6.11 allows double spending because there is no validation that the publicSignals length is less than the field modulus.","status":"published","published":"2023-05-21T00:00:00Z","modified":"2025-01-21T16:54:23Z","updated_at":"2026-11-03T00:04:16.173755Z"}],"ghsa":[{"id":"GHSA-xp5g-jhg3-3rg2","title":"Double spend in snarkjs","description":"iden3 snarkjs through 0.6.11 allows double spending because there is no validation that the publicSignals length is less than the field modulus.","status":"published","published":"2023-05-22T00:30:20Z","modified":"2025-01-21T18:53:15Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T14:38:27.974809Z"}],"nvd":[{"id":"CVE-2023-33252","description":"iden3 snarkjs through 0.6.11 allows double spending because there is no validation that the publicSignals length is less than the field modulus.","status":"published","published":"2023-05-21T22:15:14.94Z","modified":"2026-06-17T06:01:25.117Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high","assessor":"primary"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T14:08:03.200773Z"}],"osv":[{"id":"GHSA-xp5g-jhg3-3rg2","title":"Double spend in snarkjs","description":"iden3 snarkjs through 0.6.11 allows double spending because there is no validation that the publicSignals length is less than the field modulus.","status":"published","published":"2023-05-22T00:30:20Z","modified":"2023-11-08T04:12:40.305994Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N","level":"high"}],"cwes":["CWE-862"],"updated_at":"2026-11-02T15:47:00.198893Z"},{"id":"CVE-2023-33252","description":"iden3 snarkjs through 0.6.11 allows double spending because there is no validation that the publicSignals length is less than the field modulus.","status":"published","published":"2023-05-21T00:00:00Z","modified":"2026-10-28T02:30:54.639739447Z","updated_at":"2026-11-02T15:44:32.116263Z"}]}}
