Submitted by tnquanghuy0512, also found by 0xprinc, MrPotatoMagic, Baki, Tendency, and COSMIC-BEE-REACH
https://github.com/open-dollar/od-contracts/blob/f4f0246bb26277249c1d5afe6201d4d9096e52e6/src/contracts/proxies/SAFEHandler.sol#L1-L19 
https://github.com/open-dollar/od-contracts/blob/f4f0246bb26277249c1d5afe6201d4d9096e52e6/src/contracts/proxies/ODSafeManager.sol#L112-L115 
https://github.com/open-dollar/od-contracts/blob/f4f0246bb26277249c1d5afe6201d4d9096e52e6/src/contracts/proxies/ODSafeManager.sol#L59-L62
SafeHandler contract doesnt have any method to call to ODSafeManager.allowHandler(). Because of that, functions in ODSafeManager contract which use handlerAllowed modifier will never be called successfully. Therere two function quitSystem() and enterSystem() that use handlerAllowed modifier.
This is the whole SAFEHandler contract, it doesnt have any method that call to ODSafeManager.allowHandler()
Hence, it cant call to allowHandler(), which give users permission to execute action within the safe
Because of that, no one can surpass the handlerAllowed modifier with valid handler address:
enterSystem() and quitSystem() use handlerAllowed modifier:
I can think of two way to achieve this:
MiloTruck (Judge) commented:
