## Summary ### NFT Permission Control Failure ## Vulnerability Details `EggstravaganzaNFT.mintEgg()` is not bound to the game's active state1, allowing unlimited minting once the `gameContract` address is set. An attacker can call after the game ends: ```Solidity <SOLIDITY> ``` ```Solidity function mintEgg(address to, uint256 tokenId) external returns (bool) { require(msg.sender == gameContract, "Unauthorized minter"); // No state check _mint(to, tokenId);} ``` ## Impact Leads to unlimited NFT minting, disrupts the digital asset scarcity model, and causes economic system collapse. ## Tools Used Manual Review ## Recommendations ```Solidity <SOLIDITY> ``` ```Solidity require(EggHuntGame(gameContract).gameActive(), "Minting disabled"); ```
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.