Deposit() in Treasury can be DOSed.
Treasury contains _totalValue to record the total value across all tokens deposited into the contract. This variable is updated whenever tokens are deposited.
An attacker can create a malicious token and deposit type(uint256).max tokens into Treasury, efficiently inflate _totalValue to the max value, any subsequent deposits made by genuine users will revert due to underflow error.
Depost() is permanently DOSed.
Manual Review
Since _totalValue is not used, there is no need to update _totalValue in deposit() or withdraw().
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.