OpenZeppelin Contracts and Contracts Upgradeable duplicated execution of subcalls in v4.9.4
Context
Merge conflict resolution issue when porting the v5.0.1 Multicall update to the v4.9 branch caused a duplicated line.
Impact
Versions using Multicall from @openzeppelin/contracts@4.9.4 and @openzeppelin/contracts-upgradeable@4.9.4 will execute each subcall twice. Concretely, this exposes a user to unintentionally duplicate operations like asset transfers.
Patches
The duplicated delegatecall was removed in 4.9.5. The 4.9.4 version is marked as deprecated.
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| npm package | @openzeppelin/contracts | >= 4.9.4, < 4.9.5 | 4.9.5 |
| npm package | @openzeppelin/contracts-upgradeable | >= 4.9.4, < 4.9.5 | 4.9.5 |
References
- https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-699g-q6qh-q4v8
- https://nvd.nist.gov/vuln/detail/CVE-2023-49798
- https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/commit/31f9fb9d171f60b2271b2b9c6f62d43302bf9489
- https://github.com/OpenZeppelin/openzeppelin-contracts/commit/88ac712e06832bce73b41e8166cded2729e25205
- https://github.com/OpenZeppelin/openzeppelin-contracts
- CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N- Weakness (CWE)
CWE-670- Platform
- npm
- Package
@openzeppelin/contracts, @openzeppelin/contracts-upgradeable- Disclosed
- 12.12.2023
- Updated
- 11.10.2026 10:22
Sources and licenses
OSV / GitHub Advisory Database - GHSA-699g-q6qh-q4v8 - CC BY 4.0
Vulnerability history: @openzeppelin/contracts-upgradeable
All published vulnerabilities of this package (npm package), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 22
- First → latest
- 08.2021 07.2025
- Without a fix
- 0
- Exploited in attacks
- 0
Severity breakdown
- Critical 3
- High 5
- Medium 12
- Low 2
Disclosures per year
- 2021: 5
- 2022: 8
- 2023: 7
- 2024: 1
- 2025: 1
- 2026: 0
-
OpenZeppelin Contracts and Contracts Upgradeable duplicated execution of subcalls in v4.9.4 this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.