Skip to content
OpenAdvisories
Medium · 5.9 CVE-2023-49798 EUVD-2023-3124GHSA-699g-q6qh-q4v8

Duplicated execution of subcalls in OpenZeppelin Contracts

Published Dec 8, 2023 · Updated Aug 2, 2024 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
OpenZeppelin openzeppelin-contracts = 4.9.4 —

Affected packages

EcosystemPackageAffectedFixedRecord
npm @openzeppelin/contracts >= 4.9.4, < 4.9.5 4.9.5 GHSA-699g-q6qh-q4v8
npm @openzeppelin/contracts-upgradeable >= 4.9.4, < 4.9.5 4.9.5 GHSA-699g-q6qh-q4v8

References