The veRAACToken::lock
checks that amount isnt greater than the cap. The issue here is the amount being checked is the new amount, the funtion doesnt check the total amount the user has with the new amount, this means that the cap can be passed.
A malicious user can simply break their deposit into smaller parts to passs the cap because the check is only against the new amount, and not the cumulative state.
only checks the new amount not the cumulative one.
the attacker can accumulate an outsized amount of votes, allowing them to:
Manipulate Governance Decisions – The attacker could pass or reject proposals unfairly.
manual review
check user cumulative amount + new amount against the cap
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.