The _withdrawFromVault
function does not check if the user has approved the contract to spend their shares in the Curve vault. If approval is missing, withdrawals will revert, blocking users from accessing their funds.
The curveVault.withdraw
function requires the caller to have approval to spend the owner
’s shares. In the current implementation, owner
is set to msg.sender
, meaning the user must have approved this contract to act on their behalf. If the approval is missing, the transaction reverts with ERC4626: insufficient allowance
.
Users cannot withdraw assets, leading to fund lockup.
Breaks core protocol functionality (withdrawals).
manual review
Require users to approve the contract before calling _withdrawFromVault
.
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.