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.