The InheritanceManager::inherit
function can be called by anyone. When used as a backup, i.e, just 1 beneficiary, an attacker can call this function in order to gain access to the contract. This is because InheritanceManager::inherit
doesn't use the beneficiary as the owner, instead, it uses the caller, which can be an attacker.
The attacker waits for the InheritanceManager::deadline
to pass. Immediately it's 90 days + 1 seconds, the attacker calls the `InheritanceManager:inherit
to take over the contract.
Place this function inside the test/InheritanceManagerTest.sol
file:
Loss of funds because the owner and backup wallet lose control of the contract.
Manual Review
Use the only address in the beneficiaries array as the beneficiary:
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.