The EmergencyMigration
contract contains a critical vulnerability where the migrate
function, intended to be callable only by the godfather (Kernel executor), is publicly accessible. This function should be restricted to prevent unauthorized access and protect the funds.
The migrate
function is currently publicly accessible, allowing any user to call it. This function is intended for the Kernel_executor
to migrate the money shelf to a new contract that only the GodFather can manage. Without proper access control, any user can trigger the migration process, potentially leading to unauthorized contract upgrades and control over the funds.
Allowing public access to the migrate function can lead to severe consequences:
Unauthorized users can migrate the money shelf, disrupting the intended functionality and control of the funds.
The security and integrity of the funds managed by the MoneyVault can be compromised.
It can result in the funds being locked or mismanaged, leading to potential financial losses
Manual review.
Implement access control to ensure that only the Kernel executor can call the migrate function. This can be achieved by adding a modifier to check the caller's address.
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.