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.
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:
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.
Manual code review
add a gap to the Bridge upgradeable contracts to allow adding new variables in the future without causing storage collisions.
Known issue: Lightchaser
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.