Skip to content

ERC2771Context with custom forwarder may lead to zero-valued _msgSender

Low
frangio published GHSA-g4vp-m682-qqmp Aug 10, 2023

Package

npm @openzeppelin/contracts (npm)

Affected versions

>=4.0.0 <4.9.3

Patched versions

4.9.3
npm @openzeppelin/contracts-upgradeable (npm)
>=4.0.0 <4.9.3
4.9.3

Description

Impact

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.

Severity

Low

CVE ID

CVE-2023-40014

Weaknesses

No CWEs