Skip to main content

OpenZeppelin Confidential Contracts EUVDEUVD-2026-58188

| CVE-2026-73645 MEDIUM
Integer Overflow or Wraparound (CWE-190)
2026-08-13 security-advisories@github.com
6.6
CVSS 4.0 · Vendor: github
Share

Severity by source

Vendor (github) PRIMARY
6.6 MEDIUM
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/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
vuln.today AI
5.9 MEDIUM

AC:H reflects the hard prerequisite that the wrapper must be filled to ~18.4T tokens; C and A are N as only deposited fund integrity is impacted.

3.1 AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (github).

CVSS VectorVendor: github

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/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
X

Lifecycle Timeline

3
Patch available
Aug 13, 2026 - 19:04 EUVD
Source Code Evidence Fetched
Aug 13, 2026 - 18:36 vuln.today
Analysis Generated
Aug 13, 2026 - 18:36 vuln.today

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 3 npm packages depend on @openzeppelin/confidential-contracts (3 direct, 0 indirect)

Ecosystem-wide dependent count for version 0.3.1.

DescriptionCVE.org

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.

AnalysisAI

Silent integer overflow in ERC7984ERC20Wrapper's confidential total supply counter allows fund loss when an fhEVM token wrapper is exhausted. In versions prior to 0.3.1, the wrap() and onTransferReceived() functions did not check whether the internal _mint call succeeded, meaning that once the euint64 supply counter reached its maximum (~18.4 trillion tokens), subsequent wrapping operations transferred the caller's underlying ERC-20 tokens into the contract while crediting no confidential wrapped tokens in return. …

Unlock full vulnerability intelligence

  • Risk assessment & exploitation conditions
  • Attack chain visualization
  • Remediation with exact patch versions
  • Threat intelligence from 22 sources
  • Personal watchlist & email alerts

Free forever · No credit card required

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata

Access
Identify ERC7984 wrapper holding high-supply token
Delivery
Confirm or contribute to wrapper filling to uint64 max
Exploit
Call wrap() with any non-zero amount
Execution
ERC-20 transferFrom succeeds, tokens enter wrapper
Persist
_mint overflows silently, no confidential tokens credited
Impact
Caller loses deposited underlying tokens permanently

Vulnerability AssessmentAI

Exploitation Exploitation requires the targeted ERC7984ERC20Wrapper deployment to have already accumulated a total underlying token balance equivalent to approximately 18.4 trillion wrapped token units (type(uint64).max), which is the overflow threshold for the euint64 confidential supply counter. … Additional conditions and limiting factors are described in the full assessment.
Risk Assessment The CVSS 4.0 score of 6.6 (VI:H, all other impacts N) correctly characterises this as a fund-integrity issue with no confidentiality or availability dimension. … Full risk analysis with EPSS, KEV, and SSVC signal comparison available after sign-in.
Exploit Scenario A user interacts with an ERC7984ERC20Wrapper that has been used to wrap a high-supply token - such as a token with a circulating supply in the trillions - until the wrapper's confidential total supply counter approaches type(uint64).max (~18.4 trillion). Any subsequent call to wrap() or onTransferReceived() (e.g. …
Remediation Upgrade to @openzeppelin/confidential-contracts version 0.3.1, which introduces the _checkConfidentialTotalSupply() guard that reverts with ERC7984TotalSupplyOverflow before any mint is attempted when totalSupply() (derived from the plaintext underlying balance) would exceed maxTotalSupply() (type(uint64).max). … Detailed patch versions, workarounds, and compensating controls in full report.

Threat intelligence, references, and detailed analysis are available after sign-in.

Share

EUVD-2026-58188 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy