The configurePass function allows the organizer to reset the maxSupply of a pass at any time, even after the original cap has been reached. This enables the organizer to bypass the intended supply limit and sell unlimited passes for a given pass ID, violating scarcity guarantees and potentially harming users who purchased under the assumption of a fixed supply.
Likelihood:
Whenever the organizer wants to sell more passes after reaching the original cap, they can simply call configurePass to reset or increase the supply.
This can occur at any time, especially if the organizer is malicious or under external pressure to generate more revenue.
Impact:
Users who purchased passes expecting a capped supply can have their assets diluted, losing value and trust.
The economic integrity of the pass system is compromised, leading to potential financial and reputational damage for the project.
The following test demonstrates the vulnerability:
Make the maxSupply for each pass immutable after initial configuration, or only allow increasing (never decreasing) the supply, and never allow resetting it to a lower value than the current supply, Or, set maxSupply only once and make it immutable. For example:
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.