Normal behavior: Pass supply tracking should prevent sales beyond configured maxSupply
limits. Once passes are sold, the supply counter should accurately reflect total minted passes.
Issue: The configurePass()
function resets passSupply[passId] = 0
on line 65, allowing the organizer to bypass max supply limits. Users keep their existing passes, but the supply counter resets, enabling overselling beyond intended limits.
The function unconditionally resets the supply counter without considering already-minted passes.
Likelihood:
Organizer can trigger this anytime by reconfiguring pass parameters
No restrictions prevent supply reset during active sales periods
Impact:
Supply limit bypass: Allows selling beyond intended scarcity limits
Economic manipulation: "Limited edition" passes become unlimited
User deception: Buyers believe they own scarce assets that aren't actually limited
Result: Supply tracking bypassed - 22 total passes can exist despite 20 max supply limit.
This prevents reconfiguration after passes have been sold, maintaining supply integrity.
This is not acceptable as high because any attack vectors related to organizer trying to milk ETH from participants is voided by the fact that the organizer is trusted.
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.