Describe the normal behavior in one or more sentences
Normally, the FestivalPass
contract should interact securely with a trusted BEAT token contract to burn tokens when users redeem memorabilia.
Explain the specific issue or problem in one or more sentences
The constructor doesn’t validate the beatToken
address. This means the contract can be deployed with a zero address or a malicious contract, breaking token logic or enabling unauthorized behavior like free NFT minting.
Likelihood:
Reason 1 // Describe WHEN this will occur (avoid using "if" statements)
This occurs during deployment when a wrong or malicious _beatToken
address is passed.
Reason 2
No internal checks exist to prevent accidental misconfiguration or intentional abuse.
Impact:
Impact 1
Users may interact with a fake or non-functional BEAT token contract.
Impact 2
Token minting, burning, or transfer logic may behave unexpectedly, allowing economic loss or abuse.
how an attacker can deploy a malicious ERC20
-like contract and deceive the FestivalPass
contract into believing it's interacting with a legitimate token. The malicious contract fakes successful transfers, bypassing any actual value movement.
No real tokens transferred — but the contract logic assumes success.
User may appear to receive or burn tokens, but nothing actually happens on-chain in terms of value transfer.
This allows fake integrations, exploits, or trust abuse between FestivalPass and third-party systems relying on token movement.
In functions like rewardUser
and redeemMemorabilia
, the contract assumes token transfers succeed based on returned true
without checking for actual behavior.
Owner/admin is trusted / Zero address check - Informational
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.