CVE-2023-49798
Duplicated execution of subcalls in OpenZeppelin Contracts
- State
- Published
- Severity
- 5.9 Medium
- Published
- Dec 8, 2023
- Updated
- Aug 2, 2024
- Reserved
- Nov 30, 2023
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.
Scores
| CVSS | Score | Vector | Source |
|---|---|---|---|
| 3.1 | 5.9 Medium | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N | GitHub_M |
Weaknesses
- CWE-670 Always-Incorrect Control Flow Implementation
Affected Products
| Product | Versions |
|---|---|
openzeppelin-contractsOpenZeppelin |
|
References
Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.