Beginner FriendlyFoundryNFT
100 EXP
View results
Submission Details
Severity: high
Invalid

`Soulmate1` can block `soulmate2` to claim their reward

Summary

Users can exploit the 'getDivorced()' function to prevent their soulmate from claiming rewards. This vulnerability arises from the fact that invoking 'getDivorced()' sets a flag indicating divorce, which subsequently prevents the soulmate from claiming rewards, even if they are entitled to them.

Vulnerability Details

The 'getDivorced()' function, which sets the 'divorced' flag for both parties involved in the relationship. Once this flag is set, it prevents either party from claiming rewards from the contract, regardless of their entitlement. This allows one party to intentionally prevent the other party from receiving rewards by invoking the 'getDivorced()' function.

Impact

soulmate1 who exploit this vulnerability can unfairly deny rewards to their partner, potentially leading to the loss of soulmate2

Tools Used

manual

Recommendations

It is recommended tjat the 'getDivorced()' function should be modified to ensure that it does not interfere with the reward claiming process. One approach could be to separate the divorce functionality from the reward system, allowing soulmates to claim rewards independently of their relationship status.

Updates

Lead Judging Commences

0xnevi Lead Judge over 1 year ago
Submission Judgement Published
Invalidated
Reason: Design choice

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.