Low level calls can fail silently, functions should always check for contract existence before making external calls
The low-level functions call, delegatecall and staticcall return true as their first return value if the account called is non-existent, as part of the design of the EVM. Account existence must be checked prior to calling if needed.
In the code above the call on the proxy can fail silently by returning true as it's first value even if Proxy contract Does not exist yet.
Please find More details in the documentation here: https://docs.soliditylang.org/en/develop/control-structures.html#error-handling-assert-require-revert-and-exceptions
In case of improper deployment of the proxy
calls made will return true even if contract does not exist which is not the desired effect.
This can cause low level calls to fail silently.
Manual Review
Functions should check for existence of contract before Low level calls.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.