The GaugeController.sol contract contains unbounded loops, allowing attackers to spam transactions and permanently freeze gauge rewards.
Unbounded Loop in distributeRevenue() Function
If _gaugeList is too large, the transaction will exceed the gas limit and fail.
This permanently breaks revenue distribution.
Funds Locked in Treasury – Rewards cannot be distributed.
Governance Functions Halted – Voting weights and emissions break.
Manual Review – Identified unbounded loop.
Use Batch Processing Instead of Single Loops
Limit _gaugeList.length to a Reasonable Size
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.