After minting the ERC‑1155 pass, the contract calls out to BeatToken.mint()
.
That external call could introduce a reentrancy path if BeatToken
logic is extended.
Likelihood:
Future changes to the BEAT token (e.g., hooks, callbacks) add logic in mint()
.
Attackers implement malicious BEAT contract.
Impact:
Double‑minting passes or tokens for a single payment.
Loss of paid ETH or token supply inflation.
Replace BeatToken with a malicious contract that re-enters buyPass()
Call buyPass() and observe multiple passes or tokens being minted.
Use Checks-Effects-Interactions pattern: update all state before external calls
Add a reentrancy guard modifier to the function
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.