CVE-2026-73645: OpenZeppelin confidential-contracts ERC7984ERC20Wrapper silent mint failure leading to fund loss

CVE-2026-73645 · Severity: medium · CVSS 4 · Published 2026-08-13

OpenZeppelin's confidential-contracts library includes an ERC7984ERC20Wrapper component used to wrap and encrypt ERC20 tokens on blockchain networks. Due to inadequate error checking in the token minting logic, users can lose funds when wrapping tokens if the wrapper's capacity is exceeded. Specifically, if a user sends tokens to be wrapped and the minting fails silently due to overflow, the user loses their underlying tokens without receiving any wrapped tokens in return. While this requires very large token supplies (~18.4 trillion by default), it represents a critical loss-of-funds vector for affected implementations.

Vendors: npm, OpenZeppelin.

Quick answers

Is CVE-2026-73645 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-73645 being exploited in the wild.
How severe is CVE-2026-73645?
Medium severity, with a CVSS score of 4, published 13 August 2026.
Which products and versions are affected?
@openzeppelin/confidential-contracts (npm) <= 0.3.0, SEMVER:introduced=0,fixed=0.3.1; OpenZeppelin Confidential-Contracts <= 0.3.0.
Is there a fix for CVE-2026-73645?
Yes. @openzeppelin/confidential-contracts (npm): upgrade to 0.3.1 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-73645 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-73645?
Check whether you run @openzeppelin/confidential-contracts (npm) or OpenZeppelin Confidential-Contracts at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • @openzeppelin/confidential-contracts (npm): upgrade to 0.3.1 or later
    npm install @openzeppelin/confidential-contracts@0.3.1

Technical details

The vulnerability is an unchecked silent failure in the ERC7984 contract's `_mint` function when operating on confidential `euint64` values. The `wrap` and `onTransferReceived` functions call `_mint` without verifying its return value or handling overflow conditions. When total supply reaches the 64-bit unsigned integer limit, the mint fails silently instead of reverting. An attacker (or any user after capacity is reached) can invoke wrap or send tokens via onTransferReceived; their tokens are transferred but no wrapped tokens are minted, resulting in permanent fund loss. The attack vector is network-accessible (direct function calls) with no privileges or user interaction required beyond the wrapping transaction itself. The patch in 0.3.1 adds proper return value checking and overflow handling to prevent silent failures.

Affected products

  • OpenZeppelin confidential-contracts <= 0.3.0

Identifiers

  • CVE-2026-73645
  • GHSA-hqf9-8xv5-x8xw

Timeline

  • 2026-01-05: disclosed: Advisory published by OpenZeppelin
  • 2026-01-05: patched: Patched in version 0.3.1

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.