The Starklane contract includes a vulnerability where the withdrawTokens function does not check whether the token collection is whitelisted before allowing withdrawals. This oversight can allow unauthorized collections to be withdrawn.
The withdrawTokens function is responsible for handling the withdrawal of tokens from the L2 side of the bridge. However, the function does not check if the collection involved in the withdrawal is part of the whitelist or if whitelist is enabled. This omission is critical, as it allows any token collection, including those that have not been explicitly approved, to be withdrawn through the bridge when whitelist is active.
This issue whitelists new tokens that weren't previously whitelisted. It also allows for withdrawals of unwhitelisted tokens.
manual review
While whitelist is enabled, check if the collectionL1 is whitelisted, or whitelist collectionL2 address as uint256
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.