stake.link

stake.link
DeFiHardhatBridge
27,500 USDC
View results
Submission Details
Severity: high
Invalid

RESDLTokenBridge+WrappedTokenBridge::Function selector clash

Summary

There will be a function selector clash issue when getFee() will be called from proxy.

Vulnerability Details

A function named getFee() is present both in RESDLTokenBridge and WrappedTokenBridge contract. The function selector for both of this functions are same:

cast sig "function getFee(uint64,bool)"
=> 0x80800a1d

Impact

In a system where two different contracts, not connected to each other, have methods with the same function selector, it could lead to unexpected behavior when these methods are invoked through a proxy contract. This is because the proxy contract will not be aware of which specific contract's function to execute when a function with a clashing selector is called

Tools Used

Manual analysis

Recommendations

Change the function name.

Updates

Lead Judging Commences

0kage Lead Judge over 1 year ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
0xAbinash Submitter
over 1 year ago
0kage Lead Judge
over 1 year ago
0kage Lead Judge over 1 year ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.