Submitted by WatchPug
ConvexStakingWrapper.sol#L184-L188
reward.integral is uint128, if an early user deposits with just 1 Wei of lpToken, and make _supply == 1, and then transferring 5e18 of reward_token to the contract.
As a result, reward.integral can exceed type(uint128).max and overflow, causing the rewards distribution to be disrupted.
Consider wrap a certain amount of initial totalSupply at deployment, e.g. 1e8, and never burn it. And consider using uint256 instead of uint128 for reward.integral. Also, consider lower 1e20 down to 1e12.
ryuheimat (Concur) confirmed
Alex the Entreprenerd (judge) decreased severity to Medium and commented:
