The current implementation of the redeem()
function allows users to redeem collateral assets
without verifying if those assets are still enabled
. This oversight can lead to situations where users redeem assets that have been disabled
after they initiated a withdrawal, undermining the protocol's integrity.
In the initiateWithdrawal()
function, there is a check to ensure that the collateral asset is enabled before allowing the user to initiate a withdrawal:
However, during the redemption
process in the redeem()
function, this check is absent.
If the collateral asset is disabled
between the initiation of the withdrawal
and the redemption
, users can still redeem these assets, which may no longer be operational.
Users may end up redeeming assets that are no longer supported, leading to potential financial losses if the assets have lost value or utility.
Manual Review
Add a check in the redeem()
function to verify if the collateral asset is still enabled at the time of redemption.
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.