The veRAACToken
contract contains a critical vulnerability in the increase
function, where there is no validation to enforce the MAX_TOTAL_SUPPLY
limit of 100 million tokens. This flaw allows for over-minting.
The increase
function is intended to allow users to increase their token balance. However, the function does not verify whether the new total supply remains within the MAX_TOTAL_SUPPLY
limit. This neglect allows the contract to exceed the intended cap, as demonstrated in the following scenario:
Initial locks:
10M × 9 users = 90M
8M × 1 user = 8M
Total = 98M (less than MAX_TOTAL_SUPPLY
)
New lock:
+1M from a new user
Total = 99M (still valid)
Increase:
A user calls increase
with +9M tokens
New Total = 108M (exceeding MAX_TOTAL_SUPPLY
)
Since there is no restriction in place, the contract fails to prevent this excessive minting, allowing the creation of more tokens than the intended supply limit.
This vulnerability enables token supply inflation beyond intended limits, potentially devaluing existing tokens and destabilizing the market. Malicious actors could exploit this to manipulate token distribution, eroding investor trust and threatening the project's economic integrity by breaking fundamental assumptions of token scarcity.
Add a total supply check in the increase
function:
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.