withdrawEgg in EggVault contract calls transferFrom, an external call to eggNFT. If EggstravaganzaNFT were modified to include callbacks (e.g., via onERC721Received), a reentrancy attack could repeatedly withdraw the same NFT before storedEggs is set to false.
Loss of NFTs due to reentrancy.
Add a non-reentrant modifier (e.g., OpenZeppelin’s ReentrancyGuard):
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.