The function updatePeriod is responsible for updating the period for a specific gauge within the protocol. If the current period of the gauge has elapsed, then it rolls onto the next one. If the period of the gauge which is passed in hasn't started yet, then it initialises it.
Anybody can call this function. Simply put, this is merely an issue related to external access to the function.
And we can test via Chisel:
The problem lies here in the fact that anybody can call this functionality. This would mean that any existing gauges are subject to arbitrary change by any user who is aware of such functionality.
Manual review & Chisel
Restrict the function to internal and create a function which implements the necessary checks, or simply restrict it to a specific role like the GAUGE_ADMIN.
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.