The NFTFactory contract's constructor does not validate that the provided inheritance manager address is non-zero. This omission can lead to misconfiguration, rendering the admin role unusable if accidentally set to the zero address.
During deployment, the NFTFactory contract accepts an address parameter for the inheritance manager without verifying that it is not the zero address. If a zero address is inadvertently passed, no entity will have the proper admin rights to mint or burn NFTs. Although this misconfiguration is likely to be caught at deployment, it can lead to loss of functionality or unintended behavior within the system if not addressed.
Direct Impact: Misconfiguration resulting in the admin role being assigned to the zero address, which disables the intended NFT management functionality.
Manual code review
Add a check in the constructor to ensure that the _inheritanceManager
parameter is not the zero address.
Example improvement:
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.