GHSA-g4vp-m682-qqmp
OpenZeppelin Contracts vulnerable to Improper Escaping of Output
Quick fix
GHSA-g4vp-m682-qqmp — @openzeppelin/contracts: upgrade to the fixed version with the command below.
npm install @openzeppelin/contracts@4.9.3Details
### 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.
Are you affected?
Enter the version of the package you're using.
Affected packages
4.0.0Fixed in: 4.9.3npm install @openzeppelin/contracts@4.9.34.0.0Fixed in: 4.9.3npm install @openzeppelin/contracts-upgradeable@4.9.3References
- https://github.com/OpenZeppelin/openzeppelin-contracts/security/advisories/GHSA-g4vp-m682-qqmp[WEB]
- https://nvd.nist.gov/vuln/detail/CVE-2023-40014[ADVISORY]
- https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4481[WEB]
- https://github.com/OpenZeppelin/openzeppelin-contracts/pull/4484[WEB]
- https://github.com/OpenZeppelin/openzeppelin-contracts/commit/9445f96223041abf2bf08daa56f8da50b674cbcd[WEB]
- https://github.com/OpenZeppelin/openzeppelin-contracts/commit/e4435eed757d4309436b1e06608e97b6d6e2fdb5[WEB]
- https://github.com/OpenZeppelin/openzeppelin-contracts[PACKAGE]
- https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.9.3/CHANGELOG.md[WEB]
- https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v4.9.3[WEB]