NetSight
medium5.3

CVE-2023-40014

OpenZeppelin Contracts vulnerable to Improper Escaping of Output

Impact

### Impact 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. ### Patches The problem has been patched in v4.9.3.

Affected packages

EcosystemPackageAffectedFixed in
npm@openzeppelin/contracts>= 4.0.0, < 4.9.34.9.3
npm@openzeppelin/contracts-upgradeable>= 4.0.0, < 4.9.34.9.3

Affected products

VendorProductAffected versions
OpenzeppelinOpenzeppelin Contracts
from 4.0.0 before 4.9.3
OpenzeppelinOpenzeppelin Contracts-Upgradable
from 4.0.0 before 4.9.3

Weakness classification

References