The goal of the function is to set the state variable isInherited
as true. A special case is when the beneficiaries
is an array with a single element.
This will set the owner of the contract as the msg.sender
which is an arbitrary address.
Likelihood: High. Easily exploitable once the deadline passes, requiring only transaction ordering (common in Ethereum).
The test creates an attacker EOA, it front-runs any transaction when deadline has passed, removes the only beneficiary or can directly withdraw the ERC-20 or ETH.
High. All funds at risk as the attacker can inherit, remove all beneficiaries and claim all funds.
Manual Review
Allow only beneficiaries to call inherit, it will not prevent the risk of a malicious beneficiary, but it will narrow down the possibilities.
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.