Normal Behavior: The withdrawTokens function should verify that token transfers succeed and revert if they fail.
Specific Issue: The function uses IERC20.transfer() without checking the return value, which can silently fail for non-standard ERC20 tokens:
Likelihood:
Only affects non-standard ERC20 tokens that return false instead of reverting
Requires owner to attempt withdrawal of such tokens
Some tokens (e.g., USDT on some chains) don't return bool values
Impact:
Owner believes tokens were withdrawn but they remain in contract
Event is emitted indicating success when transfer actually failed
Accumulated fees may become stuck in contract
Loss of protocol revenue
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.