Users without a soulmate can write a message in the shared space at the first position.
The writeMessageInSharedSpace() function in Soulmate.sol does not check if the sender has a soulmate. This allows any user to write a message in the shared space of the first soulbound token.
The test confirms the message was written to position zero.
Any user can leave a message in the private space of soulbound token zero, as if it was any of the soulmates.
Foundry, Manual review
Add a soulmate check in Soulmate:mintSoulmateToken()
Medium Severity, This has an indirect impact and influence on the possibility of divorce between soulmates owning the first soulmate NFT id0, leading to permanent loss of ability to earn airdrops/staking rewards.
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.