The stakeVested()
function in the FjordStaking
contract allows users to stake
tokens from Sablier streams
, provided the stream sender
is authorized
. However, if the contract owner
changes the authorization status
of a sender after a stream
has been staked, the stream
continues to accrue rewards
. This could lead to inconsistencies in reward distribution
and policy enforcement.
The function checks if the stream sender
is authorized
at the time of staking.
This check is intended to ensure that only streams
from senders who are explicitly authorized by the contract owner
can be staked.
Changing Authorization Status:
The contract owner
has the ability to change the authorization status
of a sender using removeAuthorizedSablierSender()
function.
If the owner
removes a sender from the authorized list
after a stream
has been staked, it means that the stream
in question is no longer supported. However, the stream
will continue to accrue rewards
despite the sender no longer being authorized.
Streams
from senders who are no longer authorized will continue to benefit from staking rewards
, potentially violating the intended policy of only rewarding authorized streams.
Manual Review
Unstake the vesting for the streamOwner
in removeAuthorizedSablierSender()
.
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.