Hawk High

First Flight #39
Beginner FriendlySolidity
100 EXP
View results
Submission Details
Severity: medium
Valid

[H-8] Unprotected Logic Contract Initialization

Description

The logic (implementation) contract does not disable its initializer in the constructor. This allows anyone to initialize it separately from the proxy, potentially taking control.

Impact

Unauthorized initialization can result in a malicious user setting themselves as principal

Tools Used

Manual review

Recommendations

Add this to the constructor of LevelOne.sol :

constructor() {
_disableInitializers();
}
Updates

Lead Judging Commences

yeahchibyke Lead Judge 7 months ago
Submission Judgement Published
Validated
Assigned finding tags:

contract can be re-initialized

The system can be re-initialized by an attacker and its integrity tampered with due to lack of `disableInitializer()`

Support

FAQs

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

Give us feedback!