When updating an existing fee recipient's shares, there’s no validation to ensure the new total doesn’t exceed Constants.MAX_CONFIGURABLE_PROTOCOL_FEE_SHARES
(100%).
When updating an existing fee recipient's shares, there’s no validation to ensure the new total doesn’t exceed Constants.MAX_CONFIGURABLE_PROTOCOL_FEE_SHARES
(100%).
The if (share > 0)
check only validates new shares (when oldShare == 0
).
There is No validation when updating existing shares to prevent the totalFeeRecipientsShares
from exceeding 100% (MAX_CONFIGURABLE_PROTOCOL_FEE_SHARES
).
Protocol fee shares can exceed 100%, breaking the invariant that total shares must never surpass 100%.
Example:
Initial total: 95% share.
Updating a recipient’s share from 5% to 10% increases the total to 100% (valid).
Updating a recipient’s share from 5% to 10% after another update could push the total to 105% (invalid, but unchecked).
Protocol fee shares can exceed 100%, breaking the invariant that total shares must never surpass 100%
Manual Review
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.