The appointTrustee function in the InheritanceManager contract allows any beneficiary to appoint a new trustee. This creates a critical vulnerability where a malicious beneficiary can become the trustee, manipulate NFT valuations, and exploit the buyOutEstateNFT mechanism to steal value from other beneficiaries.
Trustee Privilege Abuse: Once appointed, the trustee can call setNftValue to arbitrarily adjust NFT valuations. A malicious beneficiary can exploit this to:
Temporarily lower an NFT's value
Buy it at the reduced price
Restore the original value (defrauding other beneficiaries)
POC
The provided test demonstrates the attack flow:
Beneficiary user2 triggers inheritance after 90 days.
user2 appoints themselves as trustee.
user2 lowers the NFT value from 2000e6 to 1e6.
user2 buys the NFT for 1e6 (split among beneficiaries).
user2 resets the value to 10000e6.
Other beneficiaries (like user1) are forced to pay inflated prices.
Financial Loss: Attackers can drain value from the inheritance pool by manipulating NFT prices.
Trust Collapse: The contract's core premise of fair asset distribution is compromised.
Multi-Sig Requirements: Consider requiring multiple beneficiaries to approve trustee changes or value adjustments.
Restrict Trustee Appointment:
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.