Any malicious user can very easily brick the treasury contract.
The Treasury contract allows permissionless deposits:
Not only that, but it allows an arbitrary token to be specified. An attacker can deploy a malicious token, mint themselves type(uint256).max and deposit them into the Treasury contract. This will inflate the _totalValue variable to the max and any subsequent deposit attempts of any token type will revert due to overflow of the _totalValue variable.
The attacker will make the token pausable and pause it after the deposit so any attempts to withdraw them out will revert and leave the treasury bricked and useless.
Malicious user can easily brick the treasury permanently.
Manual Review
If the protocol wants to leave permissionless deposits to the treasury, create a whitelist of allowed tokens.
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.