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.