Flow

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

Adminable::transferAdmin() Lacks Zero Address Check (Improper Input Validation + Potential Privilege Loss)

Description

The Adminable::transferAdmin() function does not validate that the newAdmin parameter is not the zero address. Without this check, transferring admin privileges to the zero address can result in loss of control over administrative functions, as the zero address cannot execute actions or receive permissions.

Impact

  1. Loss of control over administrative functions

Recommended Mitigation

In the Adminable::transferAdmin() function, add the following check:

function transferAdmin(address newAdmin) public virtual override onlyAdmin {
+ require(newAdmin != address(0), "Adminable: new admin is the zero address");
// Effect: update the admin.
admin = newAdmin;
// Log the transfer of the admin.
emit IAdminable.TransferAdmin({ oldAdmin: msg.sender, newAdmin: newAdmin });
}
Updates

Lead Judging Commences

inallhonesty Lead Judge 8 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity
inallhonesty Lead Judge 8 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.