The delegateBoost() function does not validate the recipient (to) properly, allowing users to delegate boosts to unverified addresses. This could lead to boosts being sent to malicious contracts, ineffective delegations, or self-delegations, breaking the system’s integrity.
Vulnerable Code:
Problems
A user can delegate to an unverified or malicious contract, which could steal or misuse the boost.
No check to prevent self-delegation, leading to ineffective boosts.
Boosts can be locked in contracts that do not support retrieval, permanently losing voting power.
Boosts can be lost forever if sent to a malicious contract or an invalid address.
Users could self-delegate, causing ineffective boost calculations.
Boost system integrity is compromised, allowing abuse.
Manual review
Ensure that to is a valid pool using supportedPools[to].
Prevent self-delegation.
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.