The void
function lacks a notPaused
modifier, allowing streams to be permanently voided during temporary maintenance pauses. Despite protocol's assumption of trust between all entities (sender, recipient, and approved operators), this can lead to unintentional permanent termination of streams that were only meant to be temporarily paused.
Important Note: While the readme docs states:
It is assumed that a trust relationship is formed between the sender, recipient, and approved operators participating in a stream.
This issue can occur even with complete trust between parties, as it stems from normal operational activities rather than malicious intent.
HIGH. Because:
Paused streams can be permanently voided by trusted parties acting in good faith
Once voided, streams cannot be restarted
Affects payroll and payment systems during routine maintenance
Forces creation of new streams after maintenance
Disrupts accounting and stream history
LOW. This can occur in in business operations when:
System maintenance requiring temporary pauses
Different departments responding to stream states
Communication gaps in standard procedures
Let's do a pseudo code PoC as example
Add notPaused
modifier to void
:
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.