DeFiHardhatFoundry
250,000 USDC
View results
Submission Details
Severity: high
Invalid

Lack of Access Control in `init` Functions of Reseed Contracts

Summary

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.

Vulnerability Details

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.

Impact

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.

Tools Used

Manual Review

Recommendations

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.

Updates

Lead Judging Commences

inallhonesty Lead Judge 11 months ago
Submission Judgement Published
Invalidated
Reason: Incorrect statement

Support

FAQs

Can't find an answer? Chat with us on Discord, Twitter or Linkedin.