Not compliant with ERC-7579 about fallback
implemention
Fallback
Smart accounts MAY implement a fallback function that forwards the call to a fallback handler.
If the smart account has a fallback handler installed, it:
MUST implement authorization control
MUST use call to invoke the fallback handler
MUST utilize ERC-2771 to add the original msg.sender to the calldata sent to the fallback handler
MUST route to fallback handlers based on the function selector of the calldata
The fallback
function is implemented as follows:
The difference with ERC-7579 are as follows:
no access control
allow staticcall
, ERC-7579 only allows call
don't implement ERC-2771 to get original msg.sender
and msg.data
Not compliant with ERC-7579 about fallback
implemention
manual
Change fallback
function to be compliant with ERC-7579.
There is indeed no access control within `fallback()` function which violates ERC7579 spec but the impact shown by all issues is insufficient. Need a better impact description/PoC that exceeds violation of ERC7579 to raise the severity of this issue. There will likely be no exploit for staticcall types, given there is not [state change/funds transfer allowed](https://www.rareskills.io/post/solidity-staticcall), so the possible vulnerability would be in the `CALLTYPE_SINGLE`. If no sufficient proof is provided to show a possible exploit, I will likely invalidate these issues.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.