Flow

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

View function sandwiching is also present on `statusOf()`

Vulnerability Details

statusOf() suffers from the same issue described in previous Cantina audit at issue 3.3.6.

The issue, generally explained is a view function that is sandwiched by state changes to make on-chain integrators read a different state than the actual one.

It is not a known issue, this is because it was known that this issue affected the depletionTimeOf() function, yet there is nothing said about this also affecting the statusOf() function.

Thus, even though the attack vector is of the same nature, it affects to an unknown part of the code.

Impact

Same impact as described in Cantina report. In this case the statusOf() function can be sandwiched by the sender of the stream, making a PAUSED stream to look STREAMING or vice versa:

To make a STREAMING stream look PAUSED:

// Front-run -> `pause()`
// Third party viewer -> `statusOf()`
// Back-run -> `restart()`

Recommendations

Same recommendation described in the previous report:

It should explicitly be made clear to integrating protocols
that they should not rely on this function, and its only purpose
is to support off chain frontends without any risk to being manipulated.
Updates

Lead Judging Commences

inallhonesty Lead Judge 9 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

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