In veRAACTokencontract, when user increase amount of locked token, they will mint some token for caller:
It can be seen that minting amount is based on newPower and current balance of user, and newPower is calculated based on locked amount and unlock time.
And this token allow user to burn token:
And there is total supply of token:
So the attacker can fulfill total supply of token by lock some amount, continuously burning them by transfer to address(0)and increase some amount
No more token can be locked. And in governance, quorum is calculated based on totalSupply of Veraactoken. So if attacker mint too many token to address(0), it is hard/or impossible to have succeeded proposal due to lack of token that can be used by other users to vote. Or in worst scenario, if attacker have 4M token, all others user do not have 4M token, attacker can use this attack vector to create a sure-win proposal.
Do not allow burning token by transfer them to address(0)
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.