LikeRegistry should validate constructor inputs and initialize owner state correctly.
The constructor currently calls Ownable(msg.sender) (invalid for OpenZeppelin) and fails to check the _profileNFT address for zero-address validity.
Likelihood:
The contract can be deployed with a zero address for _profileNFT.
The invalid Ownable(msg.sender) constructor call is inconsistent with OpenZeppelin conventions.
Impact:
Deployment may fail or produce an improperly initialized owner.
A zero-address profileNFT breaks likeUser and all profile checks.
The vulnerability allows deployment with invalid parameters:
Additionally, the Ownable(msg.sender) constructor call is invalid and will cause compilation errors like the SoulboundProfileNFT contract.
Remove the invalid Ownable(msg.sender) call and add a zero-address check for the _profileNFT parameter:
The contest is live. Earn rewards by submitting a finding.
Submissions are being reviewed by our AI judge. Results will be available in a few minutes.
View all submissionsThe contest is complete and the rewards are being distributed.