blob: 0845a2eccae784c837aa6b061f1dad7a2386ef76 [file] [log] [blame]
{
"schema_version": "1.3.1",
"id": "GO-2023-2119",
"modified": "0001-01-01T00:00:00Z",
"published": "0001-01-01T00:00:00Z",
"aliases": [
"GHSA-7p92-x423-vwj6"
],
"summary": "Proof forgery due to insufficient randomness in github.com/consensys/gnark",
"details": "A a third party may derive a valid proof from a valid initial tuple {proof, public_inputs}, corresponding to the same public inputs as the initial proof. This vulnerability is due to randomness being generated using a small part of the scratch memory describing the state, allowing for degrees of freedom in the transcript. Note that the impact is limited to the PlonK verifier smart contract.",
"affected": [
{
"package": {
"name": "github.com/consensys/gnark",
"ecosystem": "Go"
},
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
},
{
"fixed": "0.9.1"
}
]
}
],
"ecosystem_specific": {
"imports": [
{
"path": "github.com/consensys/gnark/backend/plonk/bls12-377",
"symbols": [
"Prove",
"Verify"
]
},
{
"path": "github.com/consensys/gnark/backend/plonk/bls12-381",
"symbols": [
"Prove",
"Verify"
]
},
{
"path": "github.com/consensys/gnark/backend/plonk/bls24-315",
"symbols": [
"Prove",
"Verify"
]
},
{
"path": "github.com/consensys/gnark/backend/plonk/bls24-317",
"symbols": [
"Prove",
"Verify"
]
},
{
"path": "github.com/consensys/gnark/backend/plonk/bn254",
"symbols": [
"Prove",
"Verify"
]
},
{
"path": "github.com/consensys/gnark/backend/plonk/bw6-633",
"symbols": [
"Prove",
"Verify"
]
},
{
"path": "github.com/consensys/gnark/backend/plonk/bw6-761",
"symbols": [
"Prove",
"Verify"
]
}
]
}
}
],
"references": [
{
"type": "ADVISORY",
"url": "https://github.com/Consensys/gnark/security/advisories/GHSA-7p92-x423-vwj6"
},
{
"type": "FIX",
"url": "https://github.com/Consensys/gnark/commit/3421eaa7d544286abf3de8c46282b8d4da6d5da0"
}
],
"database_specific": {
"url": "https://pkg.go.dev/vuln/GO-2023-2119"
}
}