Laundrette::retrieveAdmin
Does Not Work Cause Only Executor Can Call Kernel::executeAction
Description:
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.