The transferOwnership
function in the K1Validators.sol contract code checks that the new owner should not be a smart contract. However, it lacks proper access control mechanisms. This allows any external caller to execute the function, leading to potential unauthorized ownership transfers.
The function transferOwnership
is designed to transfer ownership of a smart account to a new owner. However, it does not include any access control checks to ensure that only authorized users can call the function.
Any malicious user can transfer the ownership of any smart account to themselves or any other address, gaining unauthorized control over the account.
Manual
- Transfer of ownerships/uninstallation/installation of modules is gated to the caller, wherein the new owner can only adjust the `smartAccountOwners` storing the current owner based on caller (`msg.sender`) that called the `transferOwnership()` function. This functionalities should - Known issue > A Nexus Smart Account could be locked forever if the owner installs a validator in the wrong way and does remove all other valid validators
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.