In LikeRegistry::likeUser()
, the funds are being transferred by the user to the contract. However, the userBalances[msg.sender]
is not being updated, which leads to the msg.sender
's balance always being zero.
This is a critical vulnerability as every user's funds are impacted here with no way to withdraw them, not even by the owner.
This would lead to a complete loss of funds for every user interacting with the DApp as the multisig created on being matched would have zero funds every time.
Manual Review
Update the userBalances
in the likeUser()
function.
Likelihood: High, always. Impact: High, loss of funds
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.