Community member, Black Cow reported a vulnerability that occurs due to missing access control in the setExecutedCount method.
Configuration
Severity: High
Impact
When the variable of atomicExecute is executed as false during createAgenda, the executeStartFrom value of the agenda is adjusted so that a specific function can be skipped and executed when there are multiple functions. Through this, when there are multiple agendas to execute, the execution of functions except for the last function can be adjusted.
If the agenda is maliciously executed so that the last function always fails, the agenda can be continuously executed.
Recommendation
When creating an Agenda, change the function so that the atomicExecute variable can only receive true, thereby preventing partial execution of the Agenda items.
Describe the bug
Configuration
Impact
When the variable of atomicExecute is executed as false during createAgenda, the executeStartFrom value of the agenda is adjusted so that a specific function can be skipped and executed when there are multiple functions. Through this, when there are multiple agendas to execute, the execution of functions except for the last function can be adjusted.
If the agenda is maliciously executed so that the last function always fails, the agenda can be continuously executed.
Recommendation
Exploit Scenario
Demo