The Adminable contract uses a single-step process for transferring admin rights, allowing immediate assignment to a new admin without a secondary confirmation. This design creates a significant risk: if an incorrect address is set, the protocol may lose administrative control, affecting all functions restricted by the onlyAdmin modifier.
The single-step admin transfer in Adminable.sol introduces a risk of losing control over all onlyAdmin functions. If an incorrect address is set as the admin, admin privileges could be lost permanently, rendering core protocol functionality unmanageable.
Permanent loss of admin access, impairing management, updates, and essential protocol controls.
https://github.com/Cyfrin/2024-10-sablier/blob/8a2eac7a916080f2022527408b004578b21c51d0/src/abstracts/Adminable.sol#L34
Manual Review
Adopt a two-step admin transfer pattern to prevent permanent access loss from accidental transfers. OpenZeppelin’s Ownable2Step contract provides a reliable solution by setting the admin address to "pending" and requiring the new admin to confirm the role change before the transfer completes.
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.