Impact: Medium
Likelihood: High
Severity: Medium
The SoulboundProfileNFT::blockUser
function does not effectively block a user from the platform. Instead of preventing further interaction, it merely deletes the existing profile, allowing the user to mint a new one. As a result, the intended blocking mechanism fails to achieve its purpose.
A malicious user who creates an offensive name or profile picture can simply recreate their profile with the same details after being "blocked." This undermines moderation efforts and allows repeated abuse.
The following test case demonstrates that a blocked user can easily mint a new profile with identical information:
Manual Review
To properly enforce user blocking, consider implementing a blockedUsers mapping that prevents a blocked address from minting a new profile. However, this alone does not prevent the same user from bypassing the block by using a different address.
For a more robust solution, integrating Know Your Customer (KYC) verification could help enforce persistent bans.
Likelihood: Low, any blocked users. Impact: High, not really blocked.
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.