20,000 USDC
View results
Submission Details
Severity: high

`deposit()` in Staking.sol does not check return value.

Summary

deposit() in Staking.sol does not check return value for transferFrom().

Vulnerability Details

transferFrom() can return false. The contract will proceed to update user's mapping without actually receiving funds.

Impact

User can drain the protocol of all WETH from claim().

Tools Used

Manual Review

Recommendations

Consider using SafeERC20 library from OZ. Or make sure returned value is true. If not, revert().

Support

FAQs

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