Important checks for zero address are skipped enabling misconfiguration and unexpected failures.
Smart contracts should validate that critical address inputs are not the zero address. These include roles with permissions and dependencies.
In the FestivalPass and BeatToken contracts, multiple assignments to critical roles and dependecies lack zero address checks. This creates opportunities of misconfiguration and unexpected failures.
Additional, there is a transfer of ETH that lacks zero address validation and can result in loss of funds.
Likelihood: Medium
The problem may occur during deployment, when owner calls set functions or while withdrawing the funds of festival proceeds.
Impact: High
The impact varies per case:
Setting the beat token during deployment requires new deployment and additional costs.
Withdrawing ETH to zero address results in irreversible loss of funds.
Call setters can be done again with the correct address and small disruption of the protocol.
Given that it is known that some checks where left out for gas efficiency, the recommended mitigations below capture only the irreversible
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.