fkie_cve-2022-35961
Vulnerability from fkie_nvd
Published
2022-08-15 11:21
Modified
2024-11-21 07:12
Severity ?
7.9 (High) - CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:L
6.5 (Medium) - CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
6.5 (Medium) - CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N
Summary
OpenZeppelin Contracts is a library for secure smart contract development. The functions `ECDSA.recover` and `ECDSA.tryRecover` are vulnerable to a kind of signature malleability due to accepting EIP-2098 compact signatures in addition to the traditional 65 byte signature format. This is only an issue for the functions that take a single `bytes` argument, and not the functions that take `r, v, s` or `r, vs` as separate arguments. The potentially affected contracts are those that implement signature reuse or replay protection by marking the signature itself as used rather than the signed message or a nonce included in it. A user may take a signature that has already been submitted, submit it again in a different form, and bypass this protection. The issue has been patched in 4.7.3.
References
▶ | URL | Tags | |
---|---|---|---|
security-advisories@github.com | https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3610 | Patch, Third Party Advisory | |
security-advisories@github.com | https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v4.7.3 | Release Notes, Third Party Advisory | |
security-advisories@github.com | https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-4h98-2769-gh6h | Third Party Advisory | |
af854a3a-2127-422b-91ae-364da2661108 | https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3610 | Patch, Third Party Advisory | |
af854a3a-2127-422b-91ae-364da2661108 | https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v4.7.3 | Release Notes, Third Party Advisory | |
af854a3a-2127-422b-91ae-364da2661108 | https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-4h98-2769-gh6h | Third Party Advisory |
Impacted products
Vendor | Product | Version | |
---|---|---|---|
openzeppelin | contracts | * | |
openzeppelin | contracts_upgradeable | * |
{ "configurations": [ { "nodes": [ { "cpeMatch": [ { "criteria": "cpe:2.3:a:openzeppelin:contracts:*:*:*:*:*:node.js:*:*", "matchCriteriaId": "AED17687-AC6E-4A9D-A543-91B9B56CEC55", "versionEndExcluding": "4.7.3", "versionStartIncluding": "4.1.0", "vulnerable": true }, { "criteria": "cpe:2.3:a:openzeppelin:contracts_upgradeable:*:*:*:*:*:node.js:*:*", "matchCriteriaId": "FA57CB0E-BCBA-4C14-84FC-18302CD85575", "versionEndExcluding": "4.7.3", "versionStartIncluding": "4.1.0", "vulnerable": true } ], "negate": false, "operator": "OR" } ] } ], "cveTags": [], "descriptions": [ { "lang": "en", "value": "OpenZeppelin Contracts is a library for secure smart contract development. The functions `ECDSA.recover` and `ECDSA.tryRecover` are vulnerable to a kind of signature malleability due to accepting EIP-2098 compact signatures in addition to the traditional 65 byte signature format. This is only an issue for the functions that take a single `bytes` argument, and not the functions that take `r, v, s` or `r, vs` as separate arguments. The potentially affected contracts are those that implement signature reuse or replay protection by marking the signature itself as used rather than the signed message or a nonce included in it. A user may take a signature that has already been submitted, submit it again in a different form, and bypass this protection. The issue has been patched in 4.7.3." }, { "lang": "es", "value": "OpenZeppelin Contracts es una biblioteca para el desarrollo de contratos inteligentes seguros. Las funciones \"ECDSA.recover\" y \"ECDSA.tryRecover\" son vulnerables a un tipo de maleabilidad de la firma debido a que aceptan firmas compactas EIP-2098 adem\u00e1s del formato de firma tradicional de 65 bytes. Esto s\u00f3lo es un problema para las funciones que toman un \u00fanico argumento \"bytes\", y no las funciones que toman \"r, v, s\" o \"r, vs\" como argumentos separados. Los contratos potencialmente afectados son los que implementan el re\u00faso de la firma o la protecci\u00f3n contra repeticiones al marcar la propia firma como usada en lugar del mensaje firmado o un nonce incluido en \u00e9l. Un usuario puede tomar una firma que ya ha sido enviada, enviarla de nuevo en una forma diferente, y omitir esta protecci\u00f3n. El problema ha sido parcheado en versi\u00f3n 4.7.3." } ], "id": "CVE-2022-35961", "lastModified": "2024-11-21T07:12:03.497", "metrics": { "cvssMetricV31": [ { "cvssData": { "attackComplexity": "HIGH", "attackVector": "NETWORK", "availabilityImpact": "LOW", "baseScore": 7.9, "baseSeverity": "HIGH", "confidentialityImpact": "HIGH", "integrityImpact": "HIGH", "privilegesRequired": "LOW", "scope": "CHANGED", "userInteraction": "REQUIRED", "vectorString": "CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:L", "version": "3.1" }, "exploitabilityScore": 1.3, "impactScore": 6.0, "source": "security-advisories@github.com", "type": "Secondary" }, { "cvssData": { "attackComplexity": "LOW", "attackVector": "NETWORK", "availabilityImpact": "NONE", "baseScore": 6.5, "baseSeverity": "MEDIUM", "confidentialityImpact": "NONE", "integrityImpact": "HIGH", "privilegesRequired": "LOW", "scope": "UNCHANGED", "userInteraction": "NONE", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N", "version": "3.1" }, "exploitabilityScore": 2.8, "impactScore": 3.6, "source": "nvd@nist.gov", "type": "Primary" } ] }, "published": "2022-08-15T11:21:39.937", "references": [ { "source": "security-advisories@github.com", "tags": [ "Patch", "Third Party Advisory" ], "url": "https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3610" }, { "source": "security-advisories@github.com", "tags": [ "Release Notes", "Third Party Advisory" ], "url": "https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v4.7.3" }, { "source": "security-advisories@github.com", "tags": [ "Third Party Advisory" ], "url": "https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-4h98-2769-gh6h" }, { "source": "af854a3a-2127-422b-91ae-364da2661108", "tags": [ "Patch", "Third Party Advisory" ], "url": "https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3610" }, { "source": "af854a3a-2127-422b-91ae-364da2661108", "tags": [ "Release Notes", "Third Party Advisory" ], "url": "https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v4.7.3" }, { "source": "af854a3a-2127-422b-91ae-364da2661108", "tags": [ "Third Party Advisory" ], "url": "https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-4h98-2769-gh6h" } ], "sourceIdentifier": "security-advisories@github.com", "vulnStatus": "Modified", "weaknesses": [ { "description": [ { "lang": "en", "value": "CWE-354" } ], "source": "security-advisories@github.com", "type": "Primary" } ] }
Loading…
Loading…
Sightings
Author | Source | Type | Date |
---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
- Confirmed: The vulnerability is confirmed from an analyst perspective.
- Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
- Patched: This vulnerability was successfully patched by the user reporting the sighting.
- Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
- Not confirmed: The user expresses doubt about the veracity of the vulnerability.
- Not patched: This vulnerability was not successfully patched by the user reporting the sighting.
Loading…
Loading…