CVE-2023-40014

Medium

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.

SeverityMedium
CVSS5.3
Exploit probability55. percentile0.7%
ProductOpenzeppelin Contracts
PublishedAug 10, 2023
First seenAug 10, 2023
Weakness typeCWE-116CWE-116

How to fix

Update
  • openzeppelin openzeppelin_contracts4.9.3 or later
  • openzeppelin openzeppelin_contracts-upgradable4.9.3 or later
  • @openzeppelin/contracts4.9.3 or later
  • @openzeppelin/contracts-upgradeable4.9.3 or later

Affected products

ProductAffected versionsFixed in
openzeppelin openzeppelin_contracts4.0.0 ≤ v < 4.9.34.9.3
openzeppelin openzeppelin_contracts-upgradable4.0.0 ≤ v < 4.9.34.9.3
@openzeppelin/contractsnpm4.0.0 ≤ v < 4.9.34.9.3
@openzeppelin/contracts-upgradeablenpm4.0.0 ≤ v < 4.9.34.9.3

Check your version

Choose the product and enter the version you run to see whether it falls in the affected range.

In the Intelligence 360 plan

Attack Surface Management

See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.