If L1 receiver has no onERC721Received implemention, the bridge from L2 to L1 will revert and NFT will be stuck in L1 bridge contract.
Bridge::withdrawTokens
Escrow::_withdrawFromEscrow
When bridging from L2 to L1 and NFT is escrowed on L1, the NFT is transfered by calling safeTransferFrom. If the L1 receiver(req.ownerL1) is smart contract and has no onERC721Received implemention,withdrawTokens will revert.
L1 receiver won't get NFT. And NFT will be stuck in L1 bridge contract.
manual
Impact: High, NFT will be stuck in L2 bridge. Likelyhood: Very low, sending NFT to a contract not implementing that function would almost be 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.