The recordVote() function is used to track user vote, but it can be called by anyOne.
An attacker can call recordVote() function without voter consent.
Means even if voter doesn't wishes to vote; his vote is being used in proposal favor.
An attacker can create a malicious proposal and then do above process.
Causing threat to protocol's system.
voting on malicious proposal without user consent .
Manual
replace _hasVotedOnProposal[voter][proposalId] with _hasVotedOnProposal[msg.sender][proposalId]
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.