The protocol has disabled the auto_ withdraw
mechanism of tokens on Ethereum Bridge contract probably based on an audit report as seen in the code comments here https://github.com/Cyfrin/2024-07-ark-project/blob/273b7b94986d3914d5ee737c99a59ec8728b1517/apps/blockchain/ethereum/src/Bridge.sol#L170
However, the autowithdraw
mechanism is still enabled on bridge.cairo
contract and users can still set this to true indicating they would want to auto withdraw their tokens.
Given that the implementation on Ethereum reverts once the header has an autowithdraw
flag set, it would mean that all transactions from Starknet users with autowithdraw flag would revert.
The Ethereum Bridge contract does not support auto withdrawal of tokens as seen here: https://github.com/Cyfrin/2024-07-ark-project/blob/273b7b94986d3914d5ee737c99a59ec8728b1517/apps/blockchain/ethereum/src/Bridge.sol#L169-L173
However, in Starknet, this mechanism is till supported whenever a user wants to bridge their tokens from Starknet to Ethereum as seen here: https://github.com/Cyfrin/2024-07-ark-project/blob/273b7b94986d3914d5ee737c99a59ec8728b1517/apps/blockchain/starknet/src/bridge.cairo#L242-L290
Therefore, the user transaction to auto withdraw in the bridge would always revert leading to a DoS.
Starknet users who would want to auto withdraw their tokens will always revert because this feature is disabled on Ethereum.use_withdraw_auto: bool,Tools Used
Disable this ability on Starknet by removing the use``withdrawauto
_ parameter in deposit_Tokens
_ function in bridge.cairo
contract.
Impact: High, token will be stuck in L2 bridge. Likelyhood: Very low, option is available in L2 but has been disabled since March on L1, would be almost a user error.
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.