The init
functions in the ReseedBean
, ReseedBarn
, and ReseedL2Migration
contracts lack proper access control. This vulnerability allows any user to call these functions, leading to potential security issues and unintended contract behavior. Implementing access control is crucial to restrict function execution to authorized entities only.
The init functions in these contracts can be called by any address, including unauthorized or malicious users and as many times as they want (because no initializer
modifier is used). This lack of access control can lead to several issues, including but not limited to:
Any user can trigger the init functions, leading to potential re-initialization or unintended state changes in the contracts.
-Malicious users can exploit the lack of access control to disrupt the contract's intended functionality, potentially leading to financial losses or other adverse effects.
Unintended calls to init functions can result in operational disruptions, affecting the normal functioning of the protocol.
Any user can trigger state changes that should be restricted to authorized entities, leading to inconsistencies and potential vulnerabilities. Contracts might be re-initialized with unintended parameters, causing unexpected behavior or vulnerabilities. Malicious actors can exploit the vulnerability to manipulate contract state, leading to potential financial losses or misallocation of funds. The normal operation of the protocol can be disrupted by unauthorized calls to init functions, affecting the reliability and security of the system.
Manual Review
To mitigate these issues, it is crucial to implement proper access control mechanisms and also initializer
modifier in the init functions of the affected contracts.
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.