Skip to content

Arbitrary Address Spoofing via Multicall and ERC2771Context

Description

In contracts that support Multicall and ERC2771Context, an Arbitrary Address Spoofing attack is possible. This occurs due to the use of components with known vulnerabilities, specifically the combination of Multicall and ERC2771Context.

Examples

Insecure Code

solidity
import './ERC2771.sol';
import './Multicall.sol';

Secure Code

solidity
import './SecureMulticall.sol'; // assuming SecureMulticall.sol does not have the vulnerability

Remediation

Avoid using Multicall and ERC2771Context together in the same contract, or update to a version where this vulnerability is fixed.

Rule Details

FieldValue
IDCODE-0235
CategoryWeb
SeverityCRITICAL
CWECWE-937
ConfidenceHIGH
ImpactHIGH
LikelihoodHIGH
ExploitabilityEASY
Tagssmart contract, vulnerability
OWASPN/A

References