Security Resilience

CVE-2023-49798

Openzeppelin Contracts 4.9.4

Published
09 December 2023
Modified
21 November 2024
Patch / advisory
CVSS Score v3.1 5.9
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
EPSS Score 0.0054 44th percentile
Risk Priority 46 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2023-49798 is a medium-severity Always-Incorrect Control Flow Implementation (CWE-670) vulnerability in Openzeppelin Contracts. Its CVSS base score is 5.9 (Medium).

Operationally, ranked at the 44th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

EU & UK References

Vulnerability Data

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.…

more

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.

CWE(s)

Related Threats

CVEs Like This One

CVE-2024-27094Same product: Openzeppelin Contracts
CVE-2023-30541Same product: Openzeppelin Contracts
CVE-2024-45304Same product: Openzeppelin Contracts
CVE-2023-26488Same product: Openzeppelin Contracts
CVE-2023-30542Same product: Openzeppelin Contracts
CVE-2023-34234Same product: Openzeppelin Contracts
CVE-2023-34459Same product: Openzeppelin Contracts
CVE-2023-23940Same product: Openzeppelin Contracts
CVE-2023-40014Same vendor: Openzeppelin
CVE-2026-12321Shared CWE-670

Affected Assets

openzeppelin
contracts
4.9.4
openzeppelin
contracts upgradeable
4.9.4

Mitigating Controls

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

blocks

A.8.25 mandates an SDLC process that includes security requirements, checkpoints, secure coding guidelines, testing and developer training, which reaches a slice of control-flow defects but leaves most implementation bugs untouched without perfect enforcement at every checkpoint.

prevents

Secure coding standards and reviews directly target flawed control-flow implementations.

finds

Security testing in development and acceptance can detect paths that deviate from intended logic.

blocks

A.8.32 mandates a formal process for planning, authorizing, testing and documenting changes but does not itself inspect, correct or block the incorrect control-flow logic that CWE-670 describes; the defect can still be introduced and exploited if the developer writes it and the process accepts it.

Hardening callouts derived

DISA STIG baselines are authored against specific weaknesses. Where this CVE cites a broad weakness class, the mapping is not asserted at that abstraction (owner ruling, 2026-09-25: grade only at Base and below), so no rule is shown here rather than a rule shown against the wrong grain.

  • No fine-grained STIG row for CWE-670, a class-level weakness, and none of its children carries one either.

References