A high vulnerability has been identified in the InheritanceManager contract's createEstateNFT function. The function fails to reset the deadline timer, violating a core contract invariant that requires every owner transaction to reset the 90-day timer.
The vulnerability exists in the deadline management system:
Missing Deadline Reset:
The createEstateNFT function does not call _setDeadline()
This violates the core contract assumption that all owner transactions must reset the timer
NFT creation operations do not update the dead man's switch timer
Core Assumption Violation:
From the test and documentation:
The test demonstrates this by:
Owner creates two estate NFTs:
"house1" with value 100
"house2" with value 100
Neither NFT creation operation resets the deadline timer
Core contract invariant is broken for NFT minting operations
High severity. The vulnerability allows:
Violation of core contract security assumptions
Breaking of the dead man's switch mechanism
Potential premature inheritance triggers
Risk of inheritance activation while owner is actively managing estate NFTs
Manual code review
Foundry test framework
Contract invariant analysis
NFT creation testing
Add deadline reset to createEstateNFT:
Implement systematic safeguards:
Create a modifier for owner functions that automatically resets deadline:
Add additional security measures:
Add events for NFT creation and deadline updates
Implement deadline verification checks
Create emergency pause mechanism for NFT operations
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.