OpenZeppelin Contracts is a library for smart contract development. A merge issue when porting the 5.0.1 patch to the 4.9 branch caused a line duplication. In the version of Multicall.sol
released in @openzeppelin/contracts@4.9.4
and @openzeppelin/contracts-upgradeable@4.9.4
, all subcalls are executed twice. Concretely, this exposes a user to unintentionally duplicate operations like asset transfers. The duplicated delegatecall was removed in version 4.9.5. The 4.9.4 version is marked as deprecated. Users are advised to upgrade. There are no known workarounds for this issue.
The code contains a control flow path that does not reflect the algorithm that the path is intended to implement, leading to incorrect behavior any time this path is navigated.
Name | Vendor | Start Version | End Version |
---|---|---|---|
Contracts | Openzeppelin | 4.9.4 (including) | 4.9.4 (including) |
Contracts_upgradeable | Openzeppelin | 4.9.4 (including) | 4.9.4 (including) |