openzeppelin-confidential-contracts

Ecosystem: npm

Downloads: 5.64 K

Vulnerabilities from the last (months)
  • 0CriticalAffects 0 versions
  • 1HighAffects 3 versions
  • 0MediumAffects 0 versions
  • 1ModerateAffects 1 version
  • 0LowAffects 0 versions
Severity distribution (all time)
2vulnerabilities
  • Critical0 (0.0%)
  • High1 (50.0%)
  • Medium0 (0.0%)
  • Moderate1 (50.0%)
  • Low0 (0.0%)

Monthly breakdown

  • Critical
  • High
  • Medium
  • Moderate
  • Low
  • 1 vulnerabilities
    • Critical: 0
    • High: 1
    • Medium: 0
    • Moderate: 0
    • Low: 0
  • 1 vulnerabilities
    • Critical: 0
    • High: 0
    • Medium: 0
    • Moderate: 1
    • Low: 0

Vulnerabilities (2)

Known vulnerabilities affecting openzeppelin-confidential-contracts, based on data from OSV.

Vulnerabilities affecting openzeppelin-confidential-contracts
IDSeveritySummaryAffected versionsPublishedSource
GHSA-29h2-jr22-frmhHighOpenZeppelin Confidential Contracts `VestingWalletConfidential`: a malicious ERC-7984 token is able to extract private data from the vesting wallet### Impact Two locations consume an encrypted handle returned by an untrusted external party and use it without verifying that the party is ACL-authorized on it. #### `VestingWalletConfidential` Malicious users can call `release` with a malicious token. This token could return an alternative handle on `confidentialBalanceOf`, which represents the balance of the vesting wallet on an alternative ERC-7984 token (or any other handle that the vesting wallet has access to). The vesting wallet does not check that the token has ACL access and grants access to a new handle derived from the returned
  • < 0.3.2
  • >= 0.4.0-rc.0, < 0.4.2
  • >= 0.5.0-rc.0, < 0.5.2
GitHub (opens in a new tab)
GHSA-hqf9-8xv5-x8xwModerateERC7984ERC20Wrapper: once a wrapper is filled, subsequent wrap requests do not revert and result in loss of funds.### Impact The `ERC7984` contract tracks total supply using a confidential `euint64` value. If a call to the internal `_mint` function would result in the total supply overflowing, the call fails silently. The `wrap` and `onTransferReceived` functions in `ERC7984ERC20Wrapper` assume that `_mint` won't fail silently and do not check the return value. If the mint function fails silently, users do not receive the confidential wrapped token but still send the underlying token, resulting in a loss of funds. By default (without overriding `rate()`, the wrapper fills up after wrapping ~18.4 trillion
  • < 0.3.1
GitHub (opens in a new tab)
  • GHSA-29h2-jr22-frmhHigh
    OpenZeppelin Confidential Contracts `VestingWalletConfidential`: a malicious ERC-7984 token is able to extract private data from the vesting wallet
    • < 0.3.2
    • >= 0.4.0-rc.0, < 0.4.2
    • +1 more
    Affected versions:
    • < 0.3.2
    • >= 0.4.0-rc.0, < 0.4.2
    • >= 0.5.0-rc.0, < 0.5.2

    ### Impact Two locations consume an encrypted handle returned by an untrusted external party and use it without verifying that the party is ACL-authorized on it. #### `VestingWalletConfidential` Malicious users can call `release` with a malicious token. This token could return an alternative handle on `confidentialBalanceOf`, which represents the balance of the vesting wallet on an alternative ERC-7984 token (or any other handle that the vesting wallet has access to). The vesting wallet does not check that the token has ACL access and grants access to a new handle derived from the returned

  • GHSA-hqf9-8xv5-x8xwModerate
    ERC7984ERC20Wrapper: once a wrapper is filled, subsequent wrap requests do not revert and result in loss of funds.
    • < 0.3.1

    ### Impact The `ERC7984` contract tracks total supply using a confidential `euint64` value. If a call to the internal `_mint` function would result in the total supply overflowing, the call fails silently. The `wrap` and `onTransferReceived` functions in `ERC7984ERC20Wrapper` assume that `_mint` won't fail silently and do not check the return value. If the mint function fails silently, users do not receive the confidential wrapped token but still send the underlying token, resulting in a loss of funds. By default (without overriding `rate()`, the wrapper fills up after wrapping ~18.4 trillion

    CVE: CVE-2026-73645

Showing 1-2 of 2 vulnerabilities