The function depositAndPause() is used to deposit tokens in a stream and pauses it. But other two function deposit() and depositViaBroker() calls the function _verifyStreamSenderRecipient to check whether the provided addresses mathces stream's sender and recipient in the contract SablierFlow contract.
Now the function depositAndPause() isn't calling the function _verifyStreamSenderRecipient() to check the addresses matches stream's sender recipient which is let users to put the addresses not related to the provided stream id. The requirement `sender` and `recipient` must match the stream's sender and recipient addresses will not be followed.
Altough sender is authorized in the modifier but the reciepient address isn't sanitized and recipient can be different than owner which isn't allowed.
Manual Review
We recommend calling the function _verifyStreamSenderRecipient() while calling the depositAndPause() function.
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.