Function Selector Clashes

Function selector clashes occur when two different function signatures hash to the same four-byte identifier used by the EVM to route calls. In a proxy architecture, if a user calls a function, the proxy checks the selector against its own functions and the implementation's functions.

If a clash exists, the proxy might accidentally route a call to the wrong function or execute the wrong logic. This can lead to unauthorized access or unintended state changes.

Auditors use tools to scan for these clashes during the development of upgradeable contracts. It is a rare but high-impact issue that requires careful naming conventions.

Managing these clashes is vital for the predictability of proxy routing.

True Randomness Verification
Flash Swap
Slippage in Crypto Derivatives
Fallback Function Vulnerability
Backtesting Momentum Strategies
M-of-N Threshold Scheme
Bankroll Management
Flash Loan Governance Hijacking