The CapitalPool contract, which holds all user funds, is vulnerable to potential blacklisting by centralized tokens like USDC. If the CapitalPool address gets blacklisted, it could result in the loss of funds for all users.
Centralized tokens like USDC have the ability to blacklist addresses, preventing them from sending or receiving tokens. The current architecture has a single CapitalPool holding all user funds. If this address were to be blacklisted:
Users would be unable to withdraw their USDC (or other blacklist-capable tokens).
The protocol would be unable to interact with the blacklisted tokens in the CapitalPool.
If the CapitalPool address is blacklisted:
All users' funds in the blacklisted token would become inaccessible.
The protocol's functionality for that token would be completely disrupted.
User trust in the protocol could be severely damaged.
Foundry
Do not whitelist tokens with blacklist functionality to prevent this scenario from happening.
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.