The removeBeneficiary
function does not update the length of the array beneficiaries
, leaving address(0)
in the 'deleted' slot.
If there are a lot of additions and removals of beneficiaries, this can lead to a large size array and a DoS attack. When we call withdrawInheritedFunds
this will send funds to address(0) and result in a loss of funds.
Likelihood: High. Easily triggered by normal owner actions (adding/removing beneficiaries), with guaranteed fund loss if withdrawals occur.
High. Leads to array with address(0) in the 'gaps' which will send assets to non-retrievable address.
Manual Review
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.