Bridged tokens can be lost forever on the L2 due to the depositToken function's failure to check verify if ownerL2 address is the 0 address
The above line of code is used to verify if the L2 address provided is a valid address, but fails to check if the address is equates to 0. Meaning an nft can be bridged to the L2's 0 address and hence be burnt or lost forever.
Corresponding NFT on L2 is lost forever
Manual Review
Add this line of code to the depositToken function in Bridge.sol
Please, do not suppose impacts, think about the real impact of the bug and check the CodeHawks documentation to confirm: https://docs.codehawks.com/hawks-auditors/how-to-determine-a-finding-validity A PoC always helps to understand the real impact possible.
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.