Flow

Sablier
FoundryDeFi
20,000 USDC
View results
Submission Details
Severity: medium
Invalid

restarting a flow stream can DOS pausing functionality

Summary

A flow stream should be able to be paused at any time by the stream sender, however due to insufficient validation in restarting a stream, if a stream is restarted with an rps of 0, it can never be paused again.

Vulnerability Details

pausing a stream requires that it not be paused in the first place here

function pause(uint256 streamId)
external
override
noDelegateCall
notNull(streamId)
notPaused(streamId)

This redundant check is the reason if a stream is restarted with an rps of 0, it can never be paused

Impact

sender will be unable to pause a stream once it is restarted.

Tools Used

manual review

Recommendations

Add input validation for stream restarting or remove NotPaused() modifier because pausing a stream that is already paused should not be an issue as long as it is just adjusting the rps to 0.

Updates

Lead Judging Commences

inallhonesty Lead Judge
8 months ago
inallhonesty Lead Judge 8 months ago
Submission Judgement Published
Invalidated
Reason: Incorrect statement

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.