The contract's constructor fails to initialize critical state variables, allowing immediate inheritance and permanent lock scenarios from the moment of deployment.
Critical issues:
Uninitialized State
deadline starts at 0
beneficiaries starts empty
No initial setup required
Contract starts vulnerable
Immediate Vulnerability
block.timestamp always > 0
Initial deadline check always passes
No beneficiaries causes permanent lock
No way to recover
Race Condition
Owner must add beneficiary immediately
Anyone can call inherit() before that
Once locked, can't add beneficiaries
No recovery mechanism
CRITICAL - The vulnerability enables:
Instant Lock
Contract vulnerable on deployment
No grace period for setup
Permanent lock possible
All assets at risk
Deployment Failure
Can't safely initialize
Race condition on setup
No recovery path
Contract unusable
Proper Initialization:
Safe Setup Period:
Add Safety Features:
Required initialization
Setup time window
Minimum beneficiary requirement
Clear error messages
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.