GitHub Advisoryadvisory · npm
GHSA-5vp3-v4hc-gx76 UUPSUpgradeable vulnerability in @openzeppelin/contracts
CRITICAL
Official page ↗
- Aliases
- CVE-2021-41264
- Ecosystem
- npm
- Packages
- @openzeppelin/contracts, @openzeppelin/contracts-upgradeable
- Severity
- Critical
- CVSS vector
- CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Weaknesses
- CWE-665
- Reviewed
- 2021-09-14
Affected packages
• npm @openzeppelin/contracts: >= 4.1.0, < 4.3.2 → fixed in 4.3.2
• npm @openzeppelin/contracts-upgradeable: >= 4.1.0, < 4.3.2 → fixed in 4.3.2
Description
Impact
Upgradeable contracts using `UUPSUpgradeable` may be vulnerable to an attack affecting uninitialized implementation contracts. We will update this advisory with more information soon.
Patches
A fix is included in version 4.3.2 of `@openzeppelin/contracts` and `@openzeppelin/contracts-upgradeable`.
Workarounds
Initialize implementation contracts using `UUPSUpgradeable` by invoking the initializer function (usually called `initialize`). An example is provided in the forum.
References
Post-mortem.
For more information
If you have any questions or comments about this advisory, or need assistance executing the mitigation, email us at [email protected].
Related
Alias · CVE (1)
- CVE-2021-41264 OpenZeppelin Contracts is a library for smart contract development. vulnerability
Weakness · CWE (1)
- CWE-665 Improper Initialization weakness
References
- https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-5vp3-v4hc-gx76 web
- https://nvd.nist.gov/vuln/detail/CVE-2021-41264 advisory
- https://github.com/OpenZeppelin/openzeppelin-contracts/commit/024cc50df478d2e8f78539819749e94d6df60592 web
- https://forum.openzeppelin.com/t/security-advisory-initialize-uups-implementation-contracts/15301 web
- https://github.com/OpenZeppelin/openzeppelin-contracts package