PT-2021-24346 · Openzeppelin · Openzeppelin Contracts

Chaitinblockchain

·

Published

2021-12-14

·

Updated

2022-12-06

·

CVE-2022-39384

CVSS v3.1

7.5

High

VectorAV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
Name of the Vulnerable Software and Affected Versions: OpenZeppelin Contracts versions 3.2.0 through 4.4.0
Description: The issue concerns initializer functions that are invoked separate from contract creation, such as minimal proxies, which may be reentered if they make an untrusted non-view external call. Normally, once an initializer has finished running, it can never be re-executed. However, an exception for multiple inheritance made reentrancy possible, breaking the expectation of a single execution. The impact is believed to be minor since upgradeable proxies are commonly initialized with contract creation, where reentrancy is not feasible.
Recommendations: For versions 3.2.0 through 4.4.0, upgrade to version 4.4.1 to resolve the issue. As a temporary workaround, avoid untrusted external calls during initialization.

Exploit

Fix

Improper Initialization

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

CVE-2022-39384
GHSA-88G8-F5MF-F5RJ
GHSA-9C22-PWXW-P6HX

Affected Products

Openzeppelin Contracts