The Adminable
contract allow the current admin to transfer ownership to other address. However there are two issue associated with it 1). The new admin is not able to cancel the stream or renounce stream. 2). The old admin can cancel/renounce the old stream.
When ever we create the new stream the current admin is set has a sender of stream.
At Line 82
the current admin is set as sender of stream. The admin can also be changed to another address
transferAdmin
function is most of the time used for admin rotation or when admin private key got leaked, Private Key leak is currently 2nd most hacks happen in web3.
if Private key leak happens the team will change the admin to new address and make protocol safe.
Now let have a look what this admin/sender address is allowed to do.
it can cancel the stream. upon canceling the stream amount left will be sent to the sender who has created this stream.
renounce the stream
the Issue here is most of the time the Private key Leaks are handle via changing the admin , here after changing the admin the old one is still able to cancel the stream and steal the funds from stream.
Note: This issue is not added to known Issues , The known issue only state about the callback call. and also the Protocol assumes that all the user will be using safe for admin role which is not correct most of the time.
The Impact will be high if Private key hack occur Because the old admin can still cancel all the stream and steal the funds lock in stream.
Manual Review
either allow both old and new Admin to cancel and renounce stream or add it known issues. and you can also block the old admin to cancel stream. it is debatable that why i am not suggesting a single fix.
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.