The LightChaserV3 bot has found one instance of this vulnerability in the Bridge::getWhiteListedCollections()
view function on L1 (see [Medium-1] Permanent DoS due to non-shrinking array usage in an unbounded loop).
However, this bug is also present on the L2 side in the bridge::_white_list_collection()
function:
This function bridge::_white_list_collection()
is called by bridge::ensure_erc721_deployment()
(which is called by bridge::withdraw_auto_from_l1()
) and by bridge::white_list_collection()
.
If the white_listed_list
state variable becomes too big, the loop will ran out of gas and cause a permanent DoS to bridge::withdraw_auto_from_l1()
(and bridge::white_list_collection()
), locking the user's tokens. Admins will have to cancel the transaction on L1 and wait the mandatory 5 days delay to recover users' tokens on L1.
Permanent DoS and severe disruption to the protocol's functionality.
Either limit the size of the white_listed_list
state variable, or add a function to remove values from the white_listed_list
state variable in case it becomes too big.
Likelyhood: High, once the whitelist option is disabled, collections will grow. Impact: High, withdraw won’t be possible because of Out-Of-Gas.
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.