Description
OpenZeppelin Confidential Contracts is an experimental library for developing applications on the Zama fhEVM. Prior to 0.3.1, the ERC7984 contract tracked confidential total supply with an euint64 value, and an overflowing internal _mint operation could fail silently. The wrap and onTransferReceived functions in contracts/token/ERC7984/extensions/ERC7984ERC20Wrapper.sol did not handle that failure, so a user could transfer the underlying token without receiving the corresponding confidential wrapped token. With the default rate(), the wrapper fills after approximately 18.4 trillion tokens, and subsequent wrapping requests can cause loss of funds. This issue is fixed in version 0.3.1.
Published: 2026-08-13
Score: 6.6 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The ERC7984ERC20Wrapper contract contains a silent overflow bug in its internal mint function, causing wrapped token issuance to fail without reverting the transaction. This overflow leads to a discrepancy between the underlying token balance and the confidential wrapped token balance, handing a loss of funds to the user who initiates the wrap.

Affected Systems

All releases of OpenZeppelin Confidential Contracts prior to version 0.3.1 are affected, specifically the ERC7984ERC20Wrapper implementation in the confidential contracts library.

Risk and Exploitability

The flaw carries a CVSS score of 6.6, which is medium severity. Although the EPSS score is not available, the issue is not listed in the CISA KEV catalog. The likely attack vector is any user calling the wrapper’s wrap or onTransferReceived functions; after the wrapper is filled, honest users could unknowingly lose tokens.

Generated by OpenCVE AI on August 13, 2026 at 19:42 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to OpenZeppelin Confidential Contracts v0.3.1 or later, which includes the overflow guard and correct handling of failed mint operations.
  • If an upgrade is impossible, temporarily avoid performing wrap or transfer operations that would trigger the overflow until the wrapper’s supply is below the 18.4 trillion threshold, and monitor wrapped token balances against the underlying asset regularly.
  • Conduct a code audit or use smart‑contract analysis tools (such as Slither or Mythril) to confirm that the internal mint function no longer silently returns on overflow and that all wrapped transfer functions revert on failure.

Generated by OpenCVE AI on August 13, 2026 at 19:42 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-hqf9-8xv5-x8xw ERC7984ERC20Wrapper: once a wrapper is filled, subsequent wrap requests do not revert and result in loss of funds.
History

Fri, 14 Aug 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Fri, 14 Aug 2026 13:00:00 +0000

Type Values Removed Values Added
First Time appeared Openzeppelin
Openzeppelin openzeppelin Confidential Contracts
Vendors & Products Openzeppelin
Openzeppelin openzeppelin Confidential Contracts

Thu, 13 Aug 2026 18:15:00 +0000

Type Values Removed Values Added
Description OpenZeppelin Confidential Contracts is an experimental library for developing applications on the Zama fhEVM. Prior to 0.3.1, the ERC7984 contract tracked confidential total supply with an euint64 value, and an overflowing internal _mint operation could fail silently. The wrap and onTransferReceived functions in contracts/token/ERC7984/extensions/ERC7984ERC20Wrapper.sol did not handle that failure, so a user could transfer the underlying token without receiving the corresponding confidential wrapped token. With the default rate(), the wrapper fills after approximately 18.4 trillion tokens, and subsequent wrapping requests can cause loss of funds. This issue is fixed in version 0.3.1.
Title OpenZeppelin Confidential Contracts ERC7984ERC20Wrapper: once a wrapper is filled, subsequent wrap requests do not revert and result in loss of funds.
Weaknesses CWE-190
References
Metrics cvssV4_0

{'score': 6.6, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N/E:U'}


Subscriptions

Openzeppelin Openzeppelin Confidential Contracts
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-14T18:09:13.903Z

Reserved: 2026-08-13T14:04:09.604Z

Link: CVE-2026-73645

cve-icon Vulnrichment

Updated: 2026-08-14T17:41:20.637Z

cve-icon NVD

Status : Received

Published: 2026-08-13T18:18:20.277

Modified: 2026-08-14T19:18:01.033

Link: CVE-2026-73645

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-14T12:14:42Z

Weaknesses
  • CWE-190

    Integer Overflow or Wraparound