GHSA-5vp3-v4hc-gx76
UUPSUpgradeable vulnerability in @openzeppelin/contracts
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | @openzeppelin/contracts | >= 4.1.0, < 4.3.2 | 4.3.2 |
| npm | @openzeppelin/contracts-upgradeable | >= 4.1.0, < 4.3.2 | 4.3.2 |
Details
As written in the advisory (Markdown source, shown as plain text).
### 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](https://forum.openzeppelin.com/t/security-advisory-initialize-uups-implementation-contracts/15301).
### References
[Post-mortem](https://forum.openzeppelin.com/t/uupsupgradeable-vulnerability-post-mortem/15680).
### For more information
If you have any questions or comments about this advisory, or need assistance executing the mitigation, email us at [email protected].
References
External links from the advisory. They lead to third-party sites.
- https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-5vp3-v4hc-gx76
- https://nvd.nist.gov/vuln/detail/CVE-2021-41264
- https://github.com/OpenZeppelin/openzeppelin-contracts/commit/024cc50df478d2e8f78539819749e94d6df60592
- https://forum.openzeppelin.com/t/security-advisory-initialize-uups-implementation-contracts/15301
- https://github.com/OpenZeppelin/openzeppelin-contracts