DeFiHardhatFoundry
250,000 USDC
View results
Submission Details
Severity: high
Valid

`s.sys.silo.unripeSettings` are never set after migration which breaks Unripe functionality

Summary

Reseed contracts are responsible for setting storage variables during migration. Problem is that it forgets to initialize s.sys.silo.unripeSettings, i.e. address and balanceOfUnderlying of Unripe tokens. It has several consequences on different modules of Beanstalk

Vulnerability Details

s.sys.silo.unripeSettings are not initialized after migration. All the contracts with migration logic are located in folder protocol/contracts/beanstalk/init/**

Impact

Values s.sys.silo.unripeSettings are used throughout a codebase. It has a lot of different impacts:

  • Invariable.sol underestimates Bean entitlement

  • EnrootFacet.enrootDeposit() doesn't work

  • Chop logic doesn't work, it means users can't convert Unripe tokens into Ripe tokens
    And so on, I don’t see the point in listing everything. However I will add if necessary during post-judging period.

Tools Used

Manual Review

Recommendations

Initialize those values.

Updates

Lead Judging Commences

inallhonesty Lead Judge 11 months ago
Submission Judgement Published
Validated
Assigned finding tags:

`s.sys.silo.unripeSettings` are never set after migration which breaks Unripe functionality

Support

FAQs

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