NFT withdraw is allowed by calling cancelRequest even when the bridge is not enabled
The function Starklane::withdrawTokens() is used to withdraw tokens received from L2. It validates if the bridge is enabled or not.
But the issue is in the function Starklane::cancelRequest() it doesn't validate if the bridge is enabled or not.
The function Starklane::cancelRequest()
is used to cancel a request
Manual Review
We recommend adding the following line the function Starklane::cancelRequest()
.
Technically, if you cancel a message, the token is not really bridged. If you can withdraw, it means that the token has already been bridged. Those two funtions do not have to be disable when the bridge is. Moreover nothing should prevent users to get back their NFT.
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.