{"kind": "product", "path": "vulns/npm/@openzeppelin%2Fcontracts-upgradeable", "name": "@openzeppelin/contracts-upgradeable", "product": "@openzeppelin/contracts-upgradeable", "ecosystem": "npm", "items": [{"id": "CVE-2025-54070", "noindex": false, "published": "2025-07-17T18:25:02.492Z", "modified": "2025-07-17T20:28:13.310Z", "cvss": 6.9, "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:L/SC:N/SI:N/SA:N", "severity": "medium", "epss": 0.00399, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2025-54070", "title": "OpenZeppelin Contracts's Bytes's lastIndexOf function with position argument performs out-of-bound memory access on empty buffers", "description": "OpenZeppelin Contracts is a library for secure smart contract development. Starting in version 5.2.0 and prior to version 5.4.0, the `lastIndexOf(bytes,byte,uint256)` function of the `Bytes.sol` library may access uninitialized memory when the following two conditions hold: 1) the provided buffer length is empty (i.e. `buffer.length == 0`) and position is not `2**256 - 1` (i.e. `pos != type(uint256).max`). The `pos` argument could be used to access arbitrary data outside of the buffer bounds. This could lead to the operation running out of gas, or returning an invalid index (outside of the empty buffer). Processing this invalid result for acc", "references": ["https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-9rcw-c2f9-2j55", "https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v5.4.0", "https://nvd.nist.gov/vuln/detail/CVE-2025-54070"], "fixes": ["5.4.0"], "products": [{"name": "@openzeppelin/contracts-upgradeable", "path": "vulns/npm/@openzeppelin%2Fcontracts-upgradeable", "ecosystem": "npm"}]}, {"id": "CVE-2024-27094", "noindex": false, "published": "2024-02-29T18:18:24.721Z", "modified": "2024-08-02T19:35:12.184Z", "cvss": 6.5, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H", "severity": "medium", "epss": 0.00763, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2024-27094", "title": "OpenZeppelin Contracts base64 encoding may read from potentially dirty memory", "description": "OpenZeppelin Contracts is a library for secure smart contract development. The `Base64.encode` function encodes a `bytes` input by iterating over it in chunks of 3 bytes. When this input is not a multiple of 3, the last iteration may read parts of the memory that are beyond the input buffer. The vulnerability is fixed in 5.0.2 and 4.9.6.", "references": ["https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-9vx6-7xxf-x967", "https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/commit/2d081f24cac1a867f6f73d512f2022e1fa987854", "https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/commit/723f8cab09cdae1aca9ec9cc1cfa040c2d4b06c1"], "fixes": ["4.9.6", "5.0.2"], "products": [{"name": "@openzeppelin/contracts-upgradeable", "path": "vulns/npm/@openzeppelin%2Fcontracts-upgradeable", "ecosystem": "npm"}, {"name": "@openzeppelin/contracts-upgradeable", "path": "vulns/npm/@openzeppelin%2Fcontracts-upgradeable", "ecosystem": "npm"}]}, {"id": "CVE-2023-49798", "noindex": false, "published": "2023-12-08T23:35:24.467Z", "modified": "2024-08-02T22:01:26.056Z", "cvss": 5.9, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N", "severity": "medium", "epss": 0.00543, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2023-49798", "title": "Duplicated execution of subcalls in OpenZeppelin Contracts", "description": "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. 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.", "references": ["https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-699g-q6qh-q4v8", "https://github.com/OpenZeppelin/openzeppelin-contracts/commit/88ac712e06832bce73b41e8166cded2729e25205", "https://nvd.nist.gov/vuln/detail/CVE-2023-49798"], "fixes": ["4.9.5"], "products": [{"name": "@openzeppelin/contracts-upgradeable", "path": "vulns/npm/@openzeppelin%2Fcontracts-upgradeable", "ecosystem": "npm"}]}, {"id": "CVE-2023-40014", "noindex": false, "published": "2023-08-10T19:52:55.699Z", "modified": "2024-10-03T14:58:56.494Z", "cvss": 5.3, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N", "severity": "medium", "epss": 0.00743, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2023-40014", "title": "OpenZeppelin Contracts's ERC2771Context with custom forwarder may lead to zero-valued _msgSender", "description": "OpenZeppelin Contracts is a library for secure smart contract development. Starting in version 4.0.0 and prior to version 4.9.3, contracts using `ERC2771Context` along with a custom trusted forwarder may see `_msgSender` return `address(0)` in calls that originate from the forwarder with calldata shorter than 20 bytes. This combination of circumstances does not appear to be common, in particular it is not the case for `MinimalForwarder` from OpenZeppelin Contracts, or any deployed forwarder the team is aware of, given that the signer address is appended to all calls that originate from these forwarders. The problem has been patched in v4.9.3.", "references": ["https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-g4vp-m682-qqmp", "https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4481", "https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4484"], "fixes": ["4.9.3"], "products": [{"name": "@openzeppelin/contracts-upgradeable", "path": "vulns/npm/@openzeppelin%2Fcontracts-upgradeable", "ecosystem": "npm"}]}, {"id": "CVE-2023-34459", "noindex": false, "published": "2023-06-16T22:13:18.181Z", "modified": "2024-12-16T18:35:27.231Z", "cvss": 5.3, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:N/I:H/A:N", "severity": "medium", "epss": 0.00371, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2023-34459", "title": "OpenZeppelin Contracts's MerkleProof multiproofs may allow proving arbitrary leaves for specific trees", "description": "OpenZeppelin Contracts is a library for smart contract development. Starting in version 4.7.0 and prior to version 4.9.2, when the `verifyMultiProof`, `verifyMultiProofCalldata`, `procesprocessMultiProof`, or `processMultiProofCalldat` functions are in use, it is possible to construct merkle trees that allow forging a valid multiproof for an arbitrary set of leaves.\n\nA contract may be vulnerable if it uses multiproofs for verification and the merkle tree that is processed includes a node with value 0 at depth 1 (just under the root). This could happen inadvertedly for balanced trees with 3 leaves or less, if the leaves are not hashed. This co", "references": ["https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-wprv-93r4-jj2p", "https://github.com/OpenZeppelin/openzeppelin-contracts/commit/4d2383e17186be3e8ccf5a442e9686ecc7de1c55", "https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v4.9.2"], "fixes": ["4.9.2"], "products": [{"name": "@openzeppelin/contracts-upgradeable", "path": "vulns/npm/@openzeppelin%2Fcontracts-upgradeable", "ecosystem": "npm"}]}, {"id": "CVE-2023-34234", "noindex": false, "published": "2023-06-07T17:06:10.154Z", "modified": "2025-02-06T16:55:49.744Z", "cvss": 5.3, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L", "severity": "medium", "epss": 0.00595, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2023-34234", "title": "Governor proposal creation may be blocked by frontrunning in OpenZeppelin", "description": " OpenZeppelin Contracts is a library for smart contract development. By frontrunning the creation of a proposal, an attacker can become the proposer and gain the ability to cancel it. The attacker can do this repeatedly to try to prevent a proposal from being proposed at all. This impacts the `Governor` contract in v4.9.0 only, and the `GovernorCompatibilityBravo` contract since v4.3.0. This problem has been patched in 4.9.1 by introducing opt-in frontrunning protection. Users are advised to upgrade. Users unable to upgrade may submit the proposal creation transaction to an endpoint with frontrunning protection as a workaround.", "references": ["https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-5h3x-9wvq-w4m2", "https://github.com/OpenZeppelin/openzeppelin-contracts/commit/d9474327a492f9f310f31bc53f38dbea56ed9a57", "https://nvd.nist.gov/vuln/detail/CVE-2023-34234"], "fixes": ["4.9.1"], "products": [{"name": "@openzeppelin/contracts-upgradeable", "path": "vulns/npm/@openzeppelin%2Fcontracts-upgradeable", "ecosystem": "npm"}]}, {"id": "CVE-2023-30541", "noindex": false, "published": "2023-04-17T21:37:29.361Z", "modified": "2025-02-05T20:31:15.423Z", "cvss": 5.3, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L", "severity": "medium", "epss": 0.00812, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2023-30541", "title": "TransparentUpgradeableProxy clashing selector calls may not be delegated in @openzeppelin/contracts", "description": "OpenZeppelin Contracts is a library for secure smart contract development. A function in the implementation contract may be inaccessible if its selector clashes with one of the proxy's own selectors. Specifically, if the clashing function has a different signature with incompatible ABI encoding, the proxy could revert while attempting to decode the arguments from calldata. The probability of an accidental clash is negligible, but one could be caused deliberately and could cause a reduction in availability. The issue has been fixed in version 4.8.3. As a workaround if a function appears to be inaccessible for this reason, it may be possible to", "references": ["https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-mx2q-35m2-x2rh", "https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4154", "https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v4.8.3"], "fixes": ["4.8.3"], "products": [{"name": "@openzeppelin/contracts-upgradeable", "path": "vulns/npm/@openzeppelin%2Fcontracts-upgradeable", "ecosystem": "npm"}]}, {"id": "CVE-2023-30542", "noindex": false, "published": "2023-04-16T07:10:13.474Z", "modified": "2025-02-06T16:05:37.183Z", "cvss": 6.8, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:H/A:L", "severity": "medium", "epss": 0.00584, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2023-30542", "title": "GovernorCompatibilityBravo may trim proposal calldata", "description": "OpenZeppelin Contracts is a library for secure smart contract development. The proposal creation entrypoint (`propose`) in `GovernorCompatibilityBravo` allows the creation of proposals with a `signatures` array shorter than the `calldatas` array. This causes the additional elements of the latter to be ignored, and if the proposal succeeds the corresponding actions would eventually execute without any calldata. The `ProposalCreated` event correctly represents what will eventually execute, but the proposal parameters as queried through `getActions` appear to respect the original intended calldata. This issue has been patched in 4.8.3. As a work", "references": ["https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-93hq-5wgc-jc82", "https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v4.8.3", "https://nvd.nist.gov/vuln/detail/CVE-2023-30542"], "fixes": ["4.8.3"], "products": [{"name": "@openzeppelin/contracts-upgradeable", "path": "vulns/npm/@openzeppelin%2Fcontracts-upgradeable", "ecosystem": "npm"}]}, {"id": "CVE-2023-26488", "noindex": false, "published": "2023-03-03T21:08:34.886Z", "modified": "2025-02-25T15:02:45.293Z", "cvss": 6.5, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N", "severity": "medium", "epss": 0.00713, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2023-26488", "title": "OpenZeppelin Contracts contains Incorrect Calculation", "description": "OpenZeppelin Contracts is a library for secure smart contract development. The ERC721Consecutive contract designed for minting NFTs in batches does not update balances when a batch has size 1 and consists of a single token. Subsequent transfers from the receiver of that token may overflow the balance as reported by `balanceOf`. The issue exclusively presents with batches of size 1. The issue has been patched in 4.8.2.", "references": ["https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-878m-3g6q-594q", "https://github.com/OpenZeppelin/openzeppelin-contracts/commit/167bf67ed3907f4a674043496019fa346cee7705", "https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v4.8.2"], "fixes": ["4.8.2"], "products": [{"name": "@openzeppelin/contracts-upgradeable", "path": "vulns/npm/@openzeppelin%2Fcontracts-upgradeable", "ecosystem": "npm"}]}, {"id": "CVE-2022-35961", "noindex": false, "published": "2022-08-14T00:05:09.000Z", "modified": "2025-04-23T17:50:36.577Z", "cvss": 7.9, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:L/UI:R/S:C/C:H/I:H/A:L", "severity": "high", "epss": 0.00428, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2022-35961", "title": "ECDSA signature malleability in OpenZeppelin Contracts", "description": "OpenZeppelin Contracts is a library for secure smart contract development. The functions `ECDSA.recover` and `ECDSA.tryRecover` are vulnerable to a kind of signature malleability due to accepting EIP-2098 compact signatures in addition to the traditional 65 byte signature format. This is only an issue for the functions that take a single `bytes` argument, and not the functions that take `r, v, s` or `r, vs` as separate arguments. The potentially affected contracts are those that implement signature reuse or replay protection by marking the signature itself as used rather than the signed message or a nonce included in it. A user may take a sig", "references": ["https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-4h98-2769-gh6h", "https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3610", "https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v4.7.3"], "fixes": ["4.7.3"], "products": [{"name": "@openzeppelin/contracts-upgradeable", "path": "vulns/npm/@openzeppelin%2Fcontracts-upgradeable", "ecosystem": "npm"}]}, {"id": "CVE-2022-35915", "noindex": false, "published": "2022-08-01T21:05:11.000Z", "modified": "2025-04-23T17:54:51.563Z", "cvss": 5.3, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L", "severity": "medium", "epss": 0.00799, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2022-35915", "title": "Unbounded gas consumption in @openzeppelin/contracts", "description": "OpenZeppelin Contracts is a library for secure smart contract development. The target contract of an EIP-165 `supportsInterface` query can cause unbounded gas consumption by returning a lot of data, while it is generally assumed that this operation has a bounded cost. The issue has been fixed in v4.7.2. Users are advised to upgrade. There are no known workarounds for this issue.", "references": ["https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-7grf-83vw-6f5x", "https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3587", "https://nvd.nist.gov/vuln/detail/CVE-2022-35915"], "fixes": ["4.7.2"], "products": [{"name": "@openzeppelin/contracts-upgradeable", "path": "vulns/npm/@openzeppelin%2Fcontracts-upgradeable", "ecosystem": "npm"}]}, {"id": "CVE-2022-35916", "noindex": false, "published": "2022-08-01T21:00:30.000Z", "modified": "2025-04-23T17:54:57.118Z", "cvss": 5.3, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N", "severity": "medium", "epss": 0.00598, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2022-35916", "title": "Cross chain utilities for Arbitrum L2 see EOA calls as cross chain calls", "description": "OpenZeppelin Contracts is a library for secure smart contract development. Contracts using the cross chain utilities for Arbitrum L2, `CrossChainEnabledArbitrumL2` or `LibArbitrumL2`, will classify direct interactions of externally owned accounts (EOAs) as cross chain calls, even though they are not started on L1. This issue has been patched in v4.7.2. Users are advised to upgrade. There are no known workarounds for this issue.", "references": ["https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-9j3m-g383-29qr", "https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3578", "https://nvd.nist.gov/vuln/detail/CVE-2022-35916"], "fixes": ["4.7.2"], "products": [{"name": "@openzeppelin/contracts-upgradeable", "path": "vulns/npm/@openzeppelin%2Fcontracts-upgradeable", "ecosystem": "npm"}]}, {"id": "CVE-2022-31198", "noindex": false, "published": "2022-08-01T21:00:17.000Z", "modified": "2025-04-23T17:55:03.186Z", "cvss": 7.5, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N", "severity": "high", "epss": 0.00788, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2022-31198", "title": "GovernorVotesQuorumFraction updates to quorum may affect past defeated proposals in @openzeppelin/contracts", "description": "OpenZeppelin Contracts is a library for secure smart contract development. This issue concerns instances of Governor that use the module `GovernorVotesQuorumFraction`, a mechanism that determines quorum requirements as a percentage of the voting token's total supply. In affected instances, when a proposal is passed to lower the quorum requirements, past proposals may become executable if they had been defeated only due to lack of quorum, and the number of votes it received meets the new quorum requirement. Analysis of instances on chain found only one proposal that met this condition, and we are actively monitoring for new occurrences of this", "references": ["https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-xrc4-737v-9q75", "https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3561", "https://nvd.nist.gov/vuln/detail/CVE-2022-31198"], "fixes": ["4.7.2"], "products": [{"name": "@openzeppelin/contracts-upgradeable", "path": "vulns/npm/@openzeppelin%2Fcontracts-upgradeable", "ecosystem": "npm"}]}, {"id": "CVE-2022-31170", "noindex": false, "published": "2022-07-21T14:00:18.000Z", "modified": "2025-04-23T17:57:25.929Z", "cvss": 7.5, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N", "severity": "high", "epss": 0.00788, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2022-31170", "title": " OpenZeppelin Contracts's ERC165Checker may revert instead of returning false", "description": "OpenZeppelin Contracts is a library for smart contract development. Versions 4.0.0 until 4.7.1 are vulnerable to ERC165Checker reverting instead of returning `false`. `ERC165Checker.supportsInterface` is designed to always successfully return a boolean, and under no circumstance revert. However, an incorrect assumption about Solidity 0.8's `abi.decode` allows some cases to revert, given a target contract that doesn't implement EIP-165 as expected, specifically if it returns a value other than 0 or 1. The contracts that may be affected are those that use `ERC165Checker` to check for support for an interface and then handle the lack of support ", "references": ["https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3552", "https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-qh9x-gcfh-pcrw", "https://nvd.nist.gov/vuln/detail/CVE-2022-31170"], "fixes": ["4.7.1"], "products": [{"name": "@openzeppelin/contracts-upgradeable", "path": "vulns/npm/@openzeppelin%2Fcontracts-upgradeable", "ecosystem": "npm"}]}, {"id": "CVE-2022-31172", "noindex": false, "published": "2022-07-21T13:55:11.000Z", "modified": "2025-04-23T17:57:33.239Z", "cvss": 7.5, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N", "severity": "high", "epss": 0.00503, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2022-31172", "title": "OpenZeppelin Contracts's SignatureChecker may revert on invalid EIP-1271 signers", "description": "OpenZeppelin Contracts is a library for smart contract development. Versions 4.1.0 until 4.7.1 are vulnerable to the SignatureChecker reverting. `SignatureChecker.isValidSignatureNow` is not expected to revert. However, an incorrect assumption about Solidity 0.8's `abi.decode` allows some cases to revert, given a target contract that doesn't implement EIP-1271 as expected. The contracts that may be affected are those that use `SignatureChecker` to check the validity of a signature and handle invalid signatures in a way other than reverting. The issue was patched in version 4.7.1.", "references": ["https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-4g63-c64m-25w9", "https://github.com/OpenZeppelin/openzeppelin-contracts/pull/3552", "https://nvd.nist.gov/vuln/detail/CVE-2022-31172"], "fixes": ["4.7.1"], "products": [{"name": "@openzeppelin/contracts-upgradeable", "path": "vulns/npm/@openzeppelin%2Fcontracts-upgradeable", "ecosystem": "npm"}]}, {"id": "GHSA-7j52-6fjp-58gr", "noindex": false, "published": "2022-03-14T23:22:27Z", "modified": "2022-03-14T23:22:27Z", "cvss": null, "cvss_vector": "", "severity": "unknown", "epss": null, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/ghsa-7j52-6fjp-58gr", "title": "Inconsistent storage layout for ERC2771ContextUpgradeable", "description": "### Impact\n\nThe storage layout of the ERC2771ContextUpgradeable is not constant between versions. \n- versions `4.0.0`, `4.1.0` and `4.2.0`, the contract has a length of 51 slots. \n- since `4.3.0`, the contract has a length of 50 slots\n- future versions will continue using 50 slots. \n\nThis difference in layout could result in breaking upgrades if someone upgrades from an affected version to a non-affected version. It is thus recommended to be extremely careful when upgrading from a contract that uses ERC2771ContextUpgradeable `<4.3.0` to a newer version that uses `>=4.3.0`.\n\nWe've assessed the instances of this contract found on chain (with pu", "references": ["https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/security/advisories/GHSA-7j52-6fjp-58gr", "https://github.com/OpenZeppelin/openzeppelin-transpiler/pull/86", "https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable"], "fixes": ["4.3.0"], "products": [{"name": "@openzeppelin/contracts-upgradeable", "path": "vulns/npm/@openzeppelin%2Fcontracts-upgradeable", "ecosystem": "npm"}]}, {"id": "CVE-2021-46320", "noindex": false, "published": "2022-02-04T11:35:52.000Z", "modified": "2024-08-04T05:02:11.583Z", "cvss": 7.5, "cvss_vector": "", "severity": "high", "epss": 0.01217, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2021-46320", "title": "CVE-2021-46320", "description": "In OpenZeppelin <=v4.4.0, initializer functions that are invoked separate from contract creation (the most prominent example being minimal proxies) may be reentered if they make an untrusted non-view external call. Once an initializer has finished running it can never be re-executed. However, an exception put in place to support multiple inheritance made reentrancy possible, breaking the expectation that there is a single execution.", "references": ["https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-9c22-pwxw-p6hx", "https://nvd.nist.gov/vuln/detail/CVE-2021-46320"], "fixes": ["4.4.1"], "products": [{"name": "@openzeppelin/contracts-upgradeable", "path": "vulns/npm/@openzeppelin%2Fcontracts-upgradeable", "ecosystem": "npm"}]}, {"id": "GHSA-m6w8-fq7v-ph4m", "noindex": false, "published": "2022-01-13T16:09:36Z", "modified": "2022-01-12T21:38:27Z", "cvss": null, "cvss_vector": "", "severity": "unknown", "epss": null, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/ghsa-m6w8-fq7v-ph4m", "title": "GovernorCompatibilityBravo incorrect ABI encoding may lead to unexpected behavior", "description": "### Impact\n\nThe `GovernorCompatibilityBravo` module may lead to the creation of governance proposals that execute function calls with incorrect arguments due to bad ABI encoding. This happens if the proposal is created using explicit function signatures, e.g. a proposal to invoke the function `foo(uint256)` is created as `propose([target], [0], [\"foo(uint256)\"], [\"0x00..01\"])`. If the function selector is provided as part of the encoded proposal data the issue is not present, e.g. the same proposal is created as `propose([target], [0], [\"0x2fbebd3800..01\"])`, where `2fbebd38` is the function selector.\n\nWe've assessed the instances of this con", "references": ["https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-m6w8-fq7v-ph4m", "https://github.com/OpenZeppelin/openzeppelin-contracts", "https://osv.dev/vulnerability/GHSA-m6w8-fq7v-ph4m"], "fixes": ["4.4.2"], "products": [{"name": "@openzeppelin/contracts-upgradeable", "path": "vulns/npm/@openzeppelin%2Fcontracts-upgradeable", "ecosystem": "npm"}]}, {"id": "GHSA-wmpv-c2jp-j2xg", "noindex": false, "published": "2021-11-15T23:28:18Z", "modified": "2021-11-15T22:27:38Z", "cvss": null, "cvss_vector": "", "severity": "unknown", "epss": null, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/ghsa-wmpv-c2jp-j2xg", "title": "ERC1155Supply vulnerability in OpenZeppelin Contracts", "description": "When ERC1155 tokens are minted, a callback is invoked on the receiver of those tokens, as required by the spec. When including the `ERC1155Supply` extension, total supply is not updated until after the callback, thus during the callback the reported total supply is lower than the real number of tokens in circulation.\n\n### Impact\nIf a system relies on accurately reported supply, an attacker may be able to mint tokens and invoke that system after receiving the token balance but before the supply is updated.\n\n### Patches\nA fix is included in version 4.3.3 of `@openzeppelin/contracts` and `@openzeppelin/contracts-upgradeable`.\n\n### Workarounds\nIf", "references": ["https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-wmpv-c2jp-j2xg", "https://github.com/OpenZeppelin/openzeppelin-contracts", "https://osv.dev/vulnerability/GHSA-wmpv-c2jp-j2xg"], "fixes": ["4.3.3"], "products": [{"name": "@openzeppelin/contracts-upgradeable", "path": "vulns/npm/@openzeppelin%2Fcontracts-upgradeable", "ecosystem": "npm"}]}, {"id": "CVE-2021-41264", "noindex": false, "published": "2021-11-12T17:55:11.000Z", "modified": "2024-08-04T03:08:31.576Z", "cvss": 9.8, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H", "severity": "critical", "epss": 0.01487, "kev": false, "exploits": [], "stacks": [{"name": "node", "path": "vulns/stack/node", "slug": "node"}], "path": "vulns/cve-2021-41264", "title": "UUPSUpgradeable vulnerability in OpenZeppelin Contracts", "description": "OpenZeppelin Contracts is a library for smart contract development. In affected versions upgradeable contracts using `UUPSUpgradeable` may be vulnerable to an attack affecting uninitialized implementation contracts. A fix is included in version 4.3.2 of `@openzeppelin/contracts` and `@openzeppelin/contracts-upgradeable`. For users unable to upgrade; initialize implementation contracts using `UUPSUpgradeable` by invoking the initializer function (usually called `initialize`). An example is provided [in the forum](https://forum.openzeppelin.com/t/security-advisory-initialize-uups-implementation-contracts/15301).", "references": ["https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-5vp3-v4hc-gx76", "https://github.com/OpenZeppelin/openzeppelin-contracts/commit/024cc50df478d2e8f78539819749e94d6df60592", "https://forum.openzeppelin.com/t/security-advisory-initialize-uups-implementation-contracts/15301"], "fixes": ["4.3.2"], "products": [{"name": "@openzeppelin/contracts-upgradeable", "path": "vulns/npm/@openzeppelin%2Fcontracts-upgradeable", "ecosystem": "npm"}]}], "total": 22, "unknown_count": 0, "release_unconfirmed": false, "page": 1, "pages": 2, "filtered": false, "noindex": false, "filters": {}, "page_size": 20, "products": [{"name": "@openzeppelin/contracts-upgradeable", "path": "vulns/npm/@openzeppelin%2Fcontracts-upgradeable", "ecosystem": "npm"}], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}, {"name": "web", "path": "vulns/stack/web", "slug": "web"}, {"name": "php", "path": "vulns/stack/php", "slug": "php"}, {"name": "python", "path": "vulns/stack/python", "slug": "python"}, {"name": "node", "path": "vulns/stack/node", "slug": "node"}, {"name": "database", "path": "vulns/stack/database", "slug": "database"}, {"name": "containers", "path": "vulns/stack/containers", "slug": "containers"}, {"name": "network", "path": "vulns/stack/network", "slug": "network"}, {"name": "applications", "path": "vulns/stack/applications", "slug": "applications"}], "versions": [], "stats": {"recent": 0, "kev": 0}, "lastmod": "2025-07-17T20:28:13.310Z", "early_advisories": [], "license": "Sie dürfen die Auswahl von PatchFirst und unsere Ergänzungen (Prioritäten, Frühwarnungen, Texte, Zusammenfassungen und Aggregate) für eigene Zwecke einschließlich interner geschäftlicher Aufgaben frei nutzen. Weiterverkauf, kommerzielle Verbreitung und massenhafte Spiegelung dieser Auswahl oder Ergänzungen erfordern eine schriftliche Vereinbarung mit dem Betreiber. Nennen Sie bei jeder Nutzung oder Veröffentlichung der Auswahl oder unserer Ergänzungen PatchFirst (https://patchfirst.dev/vulns/) mit diesem Link zur Feedseite Ihrer Region als Quelle. Originaleinträge aus offenen Quellen unterliegen weiterhin ihren jeweiligen Lizenzen und Bedingungen. Diese Bedingungen beschränken Ihre Rechte an den Originaldaten nicht, die Sie direkt bei den Quellen beziehen können.", "terms_url": "https://patchfirst.dev/de/vulns/#feed-terms", "attribution": {"name": "PatchFirst", "url": "https://patchfirst.dev/vulns/"}, "source_changes": "PatchFirst wählt Einträge aus, normalisiert und kombiniert sie; Zusammenfassungen und Übersetzungen können hinzukommen. Nachrichten werden im jeweiligen Eintrag mit einem Link zur Originalquelle belegt.", "sources": [{"id": "cve", "name": "CVE List / CVE.org", "url": "https://www.cve.org/", "license": "CVE Terms of Use", "terms_url": "https://www.cve.org/Legal/TermsOfUse", "notice": "Copyright © 1999–2021, The MITRE Corporation. LICENSE Submissions : For all materials you submit to the Common Vulnerabilities and Exposures (CVE™), you hereby grant to The MITRE Corporation (MITRE) and all CVE Numbering Authorities (CNAs) a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute such materials and derivative works. Unless required by applicable law or agreed to in writing, you provide such materials on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. CVE Usage : MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE™). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. DISCLAIMERS ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN \"AS IS\" BASIS AND THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE MITRE CORPORATION, ITS BOARD OF TRUSTEES, OFFICERS, AGENTS, AND EMPLOYEES, DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION THEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."}, {"id": "osv", "name": "OSV", "url": "https://osv.dev/", "terms_url": "https://google.github.io/osv.dev/data/", "terms": "Die Lizenzen der Ursprungsdatenbanken unterscheiden sich; siehe Quellenkatalog."}, {"id": "kev", "name": "CISA KEV", "url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog", "license": "CC0-1.0", "terms_url": "https://github.com/cisagov/kev-data/blob/develop/LICENSE"}, {"id": "epss", "name": "FIRST EPSS", "url": "https://www.first.org/epss/", "terms_url": "https://www.first.org/epss/faq", "terms": "Frei zugängliche Bewertungen; Quellenangabe erbeten (FIRST EPSS, Bewertungen von Empirical Security)."}, {"id": "github-advisory", "name": "GitHub Advisory Database", "url": "https://github.com/advisories", "license": "CC-BY-4.0", "terms_url": "https://github.com/github/advisory-database/blob/main/LICENSE.md"}, {"id": "exploitdb", "name": "Exploit-DB", "url": "https://www.exploit-db.com/", "license": "GPL-2.0", "terms_url": "https://gitlab.com/exploit-database/exploitdb/-/blob/main/LICENSE.md"}, {"id": "metasploit", "name": "Metasploit", "url": "https://github.com/rapid7/metasploit-framework", "license": "BSD-3-Clause", "terms_url": "https://github.com/rapid7/metasploit-framework/blob/master/LICENSE", "notice": "Copyright (c) 2006-2026, Rapid7, Inc.\nLicense: BSD-3-clause\n Redistribution and use in source and binary forms, with or without modification,\n are permitted provided that the following conditions are met:\n .\n * Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n .\n * Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n .\n * Neither the name of Rapid7, Inc. nor the names of its contributors\n may be used to endorse or promote products derived from this software\n without specific prior written permission.\n .\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\n ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\n ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."}, {"id": "nuclei", "name": "Nuclei Templates", "url": "https://github.com/projectdiscovery/nuclei-templates", "license": "MIT", "terms_url": "https://github.com/projectdiscovery/nuclei-templates/blob/main/LICENSE.md", "notice": "MIT License\n\nCopyright (c) 2025 ProjectDiscovery, Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE."}, {"id": "linux-kernel", "name": "Linux kernel releases", "url": "https://www.kernel.org/", "license": "CC-BY-SA-4.0", "terms_url": "https://www.kernel.org/legal.html", "notice": "Copyright (C) 1997-2014 by The Linux Kernel Organization, Inc."}]}