Submitted by juancito
Original Issue: Blacklisted extensions cant be disabled for rental safes
https://github.com/re-nft/smart-contracts/blob/97e5753e5398da65d3d26735e9d6439c757720f5/src/modules/Storage.sol#L339
When trying to disable a module, it was only allowed for whitelisted modules. This prevented from disabling dangerous modules that have been disabled, as the transaction would revert.
PR-15: Blacklisted extensions cant be disabled for rental:
A new module whitelist method was introduced.This allows to differentiate extensions that should not be disabled.
So now when trying to disable a module, it checks that it can be disabled, regardless of if it was whitelisted or not. This way, modules can now be safely disabled after they are blacklisted.
Tests were added to verify that blacklisted extensions can now be disabled under any circunstances.
Compromised selfdestructed extensions cant be disabled.
An extension code length check was implemented to make sure that the extension is a contract. In this case, some of the extension was compromised and selfdestructed, sp it wont be able to be deactivated.
Allow to disable extensions without code. (bitmap 0x1 is the bitmap for allowing to disable extensions).
Insufficient Mitigation
Alec1017 (reNFT) commented:
gzeon (judge) commented:
