The contract includes external dependencies that ignore return values from important function calls, which leads to silent failures.
These vulnerabilities are in the OpenZeppelin dependencies rather than the custom contract code:
ERC1967Utils.upgradeBeaconToAndCall
ignores the return value from Address.functionDelegateCall
ERC1967Utils.upgradeToAndCall
similarly ignores return values
These ignored return values result in silent failures during critical operations like contract upgrades. If the delegated calls fail, the contract might not register the failure, leading to an inconsistent state or even unexpected behavior.
Personally I would implement additional validation checks after these function calls and also I would add event logging to capture potential failures for off chain monitoring
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.