Closed c4-submissions closed 1 year ago
raymondfam marked the issue as low quality report
raymondfam marked the issue as duplicate of #37
MiloTruck marked the issue as not a duplicate
MiloTruck marked the issue as unsatisfactory: Invalid
Governance can call updateNftRenderer()
afterwards to sync the NFTRenderer
contract with the new SafeManager
if needed.
Lines of code
https://github.com/open-dollar/od-contracts/blob/f4f0246bb26277249c1d5afe6201d4d9096e52e6/src/contracts/proxies/Vault721.sol#L126-L12
Vulnerability details
Impact
The address of the
ODSafeManager
is consumed by theNFTRenderer
contract to get the SAFE data (VaultParams) to create the json object with NFV description and image so that it can be rendered on the frontend.The address of the
ODSafeManager
inVault721
contract can be changed by the governance viaVault721.setSafeManager
; but when doing so, this change is not synced with theNFTRenderer
contract (inVault721
contract by callingnftRenderer.setImplementation
), which will result in wrong data rendered for SAFEs [this is related to another issue where the old safes will not be rendered by the new safe manager ASK SPONSORS]Proof of Concept
Vault721.setSafeManager function
Tools Used
Manual Testing.
Recommended Mitigation Steps
Sync/reflect updated
SafeManager
address with theNFTRenderer
contract.Assessed type
Context