Laundrette::retrieveAdmin Does Not Work Cause Only Executor Can Call Kernel::executeActionDescription:
The retrieveAdmin function aims to allow the godfather to change the kernel admin, potentially terminating the Laundrette contract. However, this function is ineffective because it relies on Laundrette having the ability to call Kernel::executeAction, which is restricted to kernel.executor() alone.
Laundrette::retrieveAdmin:
Kernel::executeAction:
Impact:
Despite being unusable due to the restriction (Kernel_OnlyExecutor()), this limitation is manageable because the godfather already possesses the executor role, enabling them to bypass this function and directly call executeAction on Kernel.
Proof of Concept:
Include this test in Laundrette.t.sol to demonstrate the issue:
Recommended Mitigation:
Given that the godfather already holds the executor role, the retrieveAdmin function becomes redundant. Its removal simplifies the contract's interface without compromising functionality.
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.