The BoostController contract contains a critical vulnerability in its working supply calculation that overwrites the pool's total working supply with individual user boost values instead of accumulating them. This flaw leads to incorrect reward distributions by disregarding historical boost contributions.
In the updateUserBoost function, the working supply is erroneously set to a single user's boost amount:
Technical Analysis
Error Type: State mutation error (overwrite vs accumulation)
Affected Component: Pool reward distribution mechanism
Trigger Condition: Any user boost update after initial pool activity
Attack Vector: Front-running boost updates before reward distributions
Critical Severity:
Last updated user receives 100% of pool rewards
Other participants get 0 rewards regardless of actual contributions
Protocol Impact:
Complete breakdown of reward distribution fairness
Enables trivial fund drainage attacks
Makes pool participation financially nonviable
Manual Review
Immediate Fix
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.