getMinTimeBetweenWithdrawalQueues is calculated based on IPoolOfferHandler(_offerHandler).getMaxDuration(). However, when _offerHandler is changed, it is not recalculated. In case, the new getMaxDuration() is larger than the old one, it could cause pendingQueues to be overwritten prematurely.
Mitigation
The sponsor added a check to ensure the new max duration will not be larger than old max duration without updating getMinTimeBetweenWithdrawalQueues.
Lines of code
Vulnerability details
Issue
getMinTimeBetweenWithdrawalQueues
is calculated based onIPoolOfferHandler(_offerHandler).getMaxDuration()
. However, when_offerHandler
is changed, it is not recalculated. In case, the newgetMaxDuration()
is larger than the old one, it could causependingQueues
to be overwritten prematurely.Mitigation
The sponsor added a check to ensure the new max duration will not be larger than old max duration without updating
getMinTimeBetweenWithdrawalQueues
.