The SablierFlow
contract lacks validation to ensure that a streamId
exists before allowing deposits. This can lead to deposits being made to non-existent streams, resulting in lost funds.
The vulnerability arises from the absence of a check to verify the existence of a streamId
in the _streams
mapping before allowing deposits. This allows deposits to be made to streams that have not been initialized.
Deposits to non-existent streams result in funds being locked in the contract without any means of recovery.
Manual review
Add a validation check in the _deposit
function to ensure that the streamId
exists before proceeding with the deposit.
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.