For the complete documentation index, see llms.txt. This page is also available as Markdown.

Whitelists

Many protocols today implement whitelists for regulatory compliance, here are some common pitfalls and vulnerabilities with such patterns.

Edge Cases & Exploit Vectors

  • Any whitelisted address can use EIP 7702 to set their own account code that allows non-whitelsited accounts to interact with the protocol

Consider the following scenario:

  • Assume protocol has a whitelist mapping, where only users who are whitelisted can call function A

  • Bob is whitelisted for his address 0xFF

  • Bob uses 7702 to set his 0xFF account code to:

contract {
     address victimSystem;
    
     function callThis(...) external {
           victimSystem.whitelistedFunction(...);
     }
}
  • Now anyone can call the whitelisted function through calling callThis on 0xFF

Checklist Items

  • Did you check if EIP 7702 could be used to bypass the whitelist?

Audit References & Resources

Last updated