NFTBridge
60,000 USDC
View results
Submission Details
Severity: low
Invalid

Missing `gap` on upgradeable contracts

Summary

The upgradeable contracts lack a reserved gap in their storage layout, which poses a risk of storage collisions when additional variables are introduced in future versions.

Vulnerability Details

When designing an upgradeable smart contract using proxies, the storage layout must remain consistent across all contract versions. If additional storage variables are added in future contract versions without reserved space, it can lead to storage collisions with existing variables, potentially leading to critical issues such as data corruption or loss.

Location:

Impact

The probability of this issue occurring is low, but the impact is high, as introduction of new storage variables without reserved space can overwrite existing data, leading to data corruption.

Tools Used

  • Manual code review

Recommendations

add a gap to the Bridge upgradeable contracts to allow adding new variables in the future without causing storage collisions.

uint256[50] private __gap;
Updates

Lead Judging Commences

n0kto Lead Judge about 1 year ago
Submission Judgement Published
Invalidated
Reason: Known issue
Assigned finding tags:

invalid-upgradeable-storage-gap-known-issue

Known issue: Lightchaser

Support

FAQs

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

Give us feedback!