Unlike in other parts of the contract where Try&Catch is used to ensure that failed USDC transfers don't halt the protocol, this is not guaranteed in _cancelFlow
.
The vulnerability lies in the transferring of the deposited amount back to the depositor:
The protocol may not be able to conclude this flow and get stuck.
Manual Review
Consider either:
using Try&Catch to send these funds to treasury
, as in other parts of the code
or storing these balances in a mapping for the users to collect later.
Likelihood: Extremely Low, when user is blacklisted between the deposit/withdraw and cancelFlow is called by the Keeper. Impact: Medium/High, cancelFlow DoS.
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.