The depositEgg
function in EggVault.sol fails to verify whether the NFT contract address (eggNFT
) has been properly initialized. This omission could lead to transaction failures and unexpected behavior when interacting with the contract before the NFT address is configured.
The vulnerable code is located in the deposit function:
The contract does not include a validation check for the eggNFT
address initialization before accessing its methods. If the owner forgets to call setEggNFT()
after deployment, any attempt to call depositEgg
will attempt to interact with address(0), resulting in:
Failed low-level calls to non-existent contract
Reverted transactions for legitimate users
Protocol functionality deadlock until configuration
• Temporary denial-of-service for vault operations
• Damaged user experience due to failed transactions
• Requires emergency owner intervention to fix
• Potential loss of protocol credibility
Manual code review
Critical Fix:
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.