Owner-initiated functions in the InheritanceManager contract—specifically contractInteractions
, createEstateNFT
, and removeBeneficiary
—fail to update the inactivity deadline, which is intended to reset on every owner action.
The contract’s design expects that every action performed by the owner resets the 90-day inactivity timer via a call to _setDeadline()
. However, these functions omit the deadline update, allowing the contract to continue using an outdated deadline. This flaw can be exploited by an attacker or a beneficiary to trigger the inheritance process prematurely, even when the owner is actively managing the contract.
Direct Impact: Funds can be inherited earlier than intended, leading to loss of owner control.
Manual review
Foundry (Forge) for unit testing
Custom Forge tests demonstrating unchanged deadline values
Update the contractInteractions
, createEstateNFT
, and removeBeneficiary
functions to call _setDeadline()
immediately after successful execution.
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.