Project

One World
NFTDeFi
15,000 USDC
View results
Submission Details
Severity: low
Invalid

Potential Storage Collision in Upgradeable Contracts

  • Root Cause:

    Upgradeable contracts rely on proxies that delegate calls to implementation contracts. If the storage layout between the proxy and implementation contracts is not meticulously managed, it can lead to storage collisions, where storage variables overlap or are misaligned.

  • Impact:

    • State Corruption: Misaligned storage can corrupt the contract's state, leading to unintended behaviors.

    • Security Breaches: Attackers might exploit storage collisions to manipulate critical variables like roles, balances, or permissions.

    • Operational Failures: The contract may become unusable or behave unpredictably, disrupting the DAO's operations.

  • Recommendation:

    • Use Consistent Storage Patterns: Ensure that all upgradeable contracts follow a consistent and well-documented storage layout.

    • Leverage Inheritance Properly: Utilize inheritance to maintain storage order across different contract versions.

    • Thorough Testing: Rigorously test upgrades in staging environments to detect and rectify storage issues before deployment.

    • Use OpenZeppelin’s Upgradeable Contracts: Continue using OpenZeppelin’s library, which provides best practices for storage management in upgradeable contracts.

Updates

Lead Judging Commences

0xbrivan2 Lead Judge about 1 year ago
Submission Judgement Published
Invalidated
Reason: Lack of quality
0xbrivan2 Lead Judge about 1 year ago
Submission Judgement Published
Invalidated
Reason: Lack of quality

Support

FAQs

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

Give us feedback!