The redemption function calculates how many underlying tokens a depositor is owed in exchange for the asset token shares they are redeeming, then burns those asset tokens and sends the underlying tokens to the depositor. But there is no check that the asset tokens were burned before the underlying tokens are sent back. The burn function could silently fail and then the depositor could receive their underlying tokens.
A depositor could get their deposit plus their portion of accrued fees without having their asset token shares burned.
Manual review
Add a check that the burn was successful and revert the redemption if it was not:
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.