The contract SablierFlowBase lacks zero address checks in critical functions where addresses, particularly initialAdmin and initialNFTDescriptor, are assigned. This can result in unexpected behavior if a zero address is accidentally set, especially since these addresses are used for administrative and descriptor functions.
The constructor in SablierFlowBase does not validate the initialAdmin and initialNFTDescriptor parameters, allowing the contract to set these critical addresses to the zero address. Without checks, if a zero address is assigned, the contract can suffer from loss of control over admin functions or inability to retrieve the NFT descriptor, potentially leading to loss of revenue or contract functionality.
Loss of Administrative Control: If initialAdmin is set to zero, the contract will lack a valid admin address, leading to an inability to manage or change admin-level permissions.
Manual review
Add checks to the constructor to ensure that neither initialAdmin nor initialNFTDescriptor can be the zero address..
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.