The depositEgg()
function allows anyone to mark an NFT as deposited if it is already in the contract.
A malicious user could send an NFT to the contract and call depositEgg()
to claim they deposited it.
This could allow an attacker to withdraw NFTs they never actually owned.
Unauthorized NFT withdrawals.
Attackers could steal NFTs by front-running legitimate deposits.
Manual review.
Change depositEgg() to verify that the depositor is the true owner before transferring:
This ensures only real owners can deposit.
Front-running depositEgg allows deposit ownership hijacking.
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.