In Starknet, addresses are of the felt
type. In L1 bridge contract all starknet address are checked if felts using isFelt252
function.
But this doesn't check if the value of address is zero. It is important to check the addresses are zero as much as they are checked if it lies under a felt.
These are the following instances of this issue
L2 bridge will not be able to handle request correclty locking the NFTs. In some cases user might lose their NFTs is they are transfered to zero address
Manual review
Also check if the address is zero along with isFelt252
and use the below function to cover all instances
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.