A critical vulnerability has been identified in the Sablier Flow's _withdraw function where insufficient stream status validation allows unauthorized withdrawals and potential fund manipulation.
The function _withdaw lacks explicit checks for stream existence, status, and timing constraints, potentially leading to unauthorized access and fund losses.
https://github.com/Cyfrin/2024-10-sablier/blob/main/src/SablierFlow.sol#L772-#L880.
The vulnerable state management
Potential Exploit
Direct fund loss, expired stream withdrawals, non-existent stream attacks and state manipulation.
Manual code review
Implement stream existence validation, add status checks and include timing validation.
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.