Closed sherlock-admin closed 1 year ago
1 comment(s) were left on this issue during the judging contest.
n33k commented:
invalid, low impact
Escalate.
This is invalid and not a duplicate of #839. #839 concerns the 1-second overlap between allocation and distribution time caused by the buggy check in _checkOnlyActiveAllocation
. This issue does not address that code or that cause at all.
Escalate.
This is invalid and not a duplicate of #839. #839 concerns the 1-second overlap between allocation and distribution time caused by the buggy check in
_checkOnlyActiveAllocation
. This issue does not address that code or that cause at all.
You've created a valid escalation!
To remove the escalation from consideration: Delete your comment.
You may delete or edit your escalation comment anytime before the 48-hour escalation window closes. After that, the escalation becomes final.
Agree with Escalation.
Was mistakenly put valid by me.
Planning to accept escalation and remove duplication state.
Result: Invalid Unique
gkrastenov
medium
_qv_allocate function will not work as expected
_qv_allocate function will not work as expected
Vulnerability Detail
The
_qv_allocate
function will not work as expected during a specific time period. TheonlyActiveAllocation
modifier allows calling of the_qv_allocate
function betweenallocationStartTime
andallocationEndTime
. Notably, theallocationStartTime
is earlier than theregistrationStartTime
Before
block.timestamp >= registrationStartTime
, newly recipients can not be registered. Consequently, between the times ofallocationStartTime
andregistrationStartTime
, the_qv_allocate
function can not be called because no recipients are registered to bypass this check:in
_allocate
function ofQVSimpleStrategy
contract.Impact
_qv_allocate
function is blocked for specific time period.Code Snippet
https://github.com/sherlock-audit/2023-09-Gitcoin/blob/main/allo-v2/contracts/strategies/qv-base/QVBaseStrategy.sol#L512
Tool used
Manual Review
Recommendation
Replace
allocationStartTime
withregistrationStartTime
in_checkOnlyActiveAllocation
modifier: