The RAACReleaseOrchestrator::createVestingSchedule() function allows setting vesting start times in the past, which can be exploited to significantly reduce the intended vesting duration.
In RAACReleaseOrchestrator::createVestingSchedule(), there is no validation to ensure the startTime parameter is not set to a past timestamp:
This means an orchestrator can set the start time to a past date, effectively reducing the actual vesting period since _calculateReleasableAmount uses block.timestamp - schedule.startTime to determine vested amounts.
Vesting schedules can be created with significantly shorter effective durations than the intended 700 days
Add a strict validation to ensure start time is in the future:
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.