The FestivalPass contract manages pass sales, memorabilia redemption, and ETH withdrawal. Normal behavior expects state updates before any external calls to prevent reentrancy.
The contract does not use explicit reentrancy guards (such as OpenZeppelin's ReentrancyGuard
). This omission leaves the contract at risk for future reentrancy vulnerabilities if code changes introduce external calls before state updates.
Likelihood:
Future development or contract upgrades can introduce external calls before critical state changes.
Integrating with third-party contracts or new code paths increases reentrancy exposure.
Impact:
Attacker can exploit vulnerable functions to double-mint tokens/NFTs or drain ETH.
Loss of funds, broken business logic, and contract insolvency.
Use OpenZeppelin's ReentrancyGuard
and apply nonReentrant
modifier to all external functions that transfer assets or change critical state.
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.