The ChangeFee function allows the contract owner to update buy and sell fees that are applied during swaps. According to Uniswap V4 documentation [1, 2], fees must not exceed 100% (represented as 1,000,000 in the fee basis point system).
The ChangeFee function lacks validation to ensure that fee values remain within acceptable bounds. This allows the owner to set fees above 100% (greater than 1,000,000), which violates Uniswap V4's fee constraints and will cause all swap transactions to revert.
Likelihood:
The owner has unrestricted access to call ChangeFee at any time with any value
No on-chain validation prevents setting fees above the maximum allowed value
Accidental misconfiguration (e.g., entering 3000000 instead of 3000) will immediately break the pool
Impact:
All swaps in the pool will revert when fees exceed 100%, causing a complete denial of service
Users cannot buy or sell the ReFi token until the owner corrects the fee configuration
Pool liquidity becomes locked and unusable during the period of misconfiguration
Loss of user trust and potential financial losses due to inability to exit positions
Add this test to RebateFiHookTest.t.sol:
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.