No gaps for upgradeability #258
Labels
bug
Something isn't working
duplicate
This issue or pull request already exists
QA (Quality Assurance)
Assets are not at risk. State handling, function incorrect as to spec, issues with clarity, syntax
Lines of code
https://github.com/code-423n4/2022-10-blur/blob/main/contracts/BlurExchange.sol#L30
Vulnerability details
Impact
BlurExchange is an upgradeable contract. The contract doesn't include storage gaps. If this contract is inherited, this will cause storage collisions if new variables are added in it in a later upgrade. This is recommended here: https://docs.openzeppelin.com/upgrades-plugins/1.x/writing-upgradeable#storage-gaps.
Proof of Concept
https://github.com/code-423n4/2022-10-blur/blob/main/contracts/BlurExchange.sol#30
Tools Used
Manual inspection
Recommended Mitigation Steps
Add
uint256[50] __gap
after all the state variables.The text was updated successfully, but these errors were encountered: