Liquid Staking

Stakelink
DeFiHardhatOracle
50,000 USDC
View results
Submission Details
Severity: medium
Invalid

Storage Layout Conflict while upgrading the contracts

Summary

The contracts are upgradeable but lacks/contains low storage gap. Without or a low storage gap, future versions of the contract may introduce new variables that overwrite storage slots in unexpected ways, potentially corrupting the contract’s state. This issue arises from Solidity's use of sequential storage slots, where new variables can be written into slots reserved for other purposes in the original version of the contract.

Affected Contracts

Impact

Without a storage gap or low storage gap, new storage variables introduced in the contracts can overwrite the beginning of the storage layout, causing unexpected behavior and potentially severe vulnerabilities

Tools Used

Manual

Recommendations

Introduce a storage gap in the contract to reserve space for future storage variables without affecting the contract's storage layout. Or you can use namespace variables.

Updates

Lead Judging Commences

inallhonesty Lead Judge
11 months ago
inallhonesty Lead Judge 10 months ago
Submission Judgement Published
Invalidated
Reason: Non-acceptable severity

Support

FAQs

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