Lack of internal accounting for deposits can cause DOS for legitimate users.
In depositTokensToL2 function, contract check following statement.
If a user accidently sent tokens worth DEPOSIT_LIMIT or an attacker does that. Then other users won't be able to use the bridge and Tokens will be stucked there forever. This make whole system at Denial of Service state.
Users won't be able to use bridge
Manual review
Have internal accounting for deposits (and update that regularly when user deposit or withdraw). A uint256 totalDeposit should work fine.
Add a function to claim extra tokens, if accidently sent by someone. Owner should be able to claim that.
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.