Description:
The contract overrides deposit() with custom time-based restrictions but does not override other standard ERC4626 functions like mint(), withdraw(), and redeem(). Users can bypass the deposit time restrictions by calling mint() directly, or withdraw at any time using the standard redeem() function.
Impact:
Users can bypass eventStartDate restriction by using mint() instead of deposit()
Users can bypass winner-based withdrawal restrictions using standard redeem()
The custom betting logic is completely bypassed
Participation fees can be avoided
Proof of Concept:
Add test to 'briVault.t.sol':
Mitigation:
Override and disable or restrict all ERC4626 deposit/withdraw functions:
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.