Unused Emergency Unlock Flag. The contract has a flag emergencyUnlockEnabled, which is set by an admin. But looking at the withdraw function, it only checks if the lock has expired or if emergencyWithdrawDelay has passed. There's no check for emergencyUnlockEnabled. So even if the admin enables emergency unlock, the regular withdraw function still requires the lock to be expired. That means the emergency unlock feature is effectively useless. Users can't withdraw during an emergency unless the admin sets up a separate function, which doesn't exist. This renders the emergency mechanism non-functional, which is a big problem .
State transition logic lacks integration with emergency systems:
Fund Lockup: Users cannot retrieve assets during legitimate emergencies
manual review, foundry
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.