The mintProfile function accepts a uint8 age parameter with no validation on its value. A user can create a dating profile with age 0, 1, or any value under 18. Since this is a dating application, allowing profiles for minors exposes the protocol to serious regulatory and safety risks. The age is stored on-chain as immutable metadata in the soulbound NFT.
Likelihood:
Any user can mint a profile with any age from 0 to 255. No validation prevents this.
Impact:
A dating application allowing profiles for minors creates serious legal and ethical implications.
Age 0 profiles are nonsensical and pollute the platform.
This test mints two profiles — one with age 0 and one with age 15 — both succeed without any validation revert, demonstrating that minors and nonsensical ages are freely accepted by the contract.
Add an age validation check requiring users to be at least 18 years old.
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.