The withdraw
function is used by the contract owner to retrieve the ETH collected from pass sales.
It uses the payable.transfer()
function, which has a hardcoded gas stipend of 2300. If the recipient (target
) is a smart contract that requires more than 2300 gas for its receive()
or fallback()
function (e.g., a multi-sig wallet), the transfer will fail.
Likelihood:
The owner of the contract is a multi-sig wallet (like Gnosis Safe) or another smart contract that is commonly used for managing funds. These contracts often have fallback functions that consume more than 2300 gas.
Impact:
All ETH collected from pass sales will be permanently locked within the FestivalPass
contract. There is no other mechanism to withdraw the funds, so they will be lost forever.
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.