A high vulnerability has been identified in the InheritanceManager contract's contractInteractions
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 contractInteractions
function does not call _setDeadline()
This violates the core contract assumption that all owner transactions must reset the timer
Function allows interaction with external contracts without updating the dead man's switch timer
Core Assumption Violation:
From the test:
The test demonstrates this by:
Creating two mock contract addresses
Funding the contract with 10e10 wei
Owner performs two contract interactions:
Interaction with someContract1
Interaction with someContract2
Neither interaction resets the deadline timer
High severity. The vulnerability allows:
Violation of core contract security assumptions
Breaking of the dead man's switch mechanism
Potential premature inheritance triggers
Inconsistent deadline management across owner operations
Manual code review
Foundry test framework
Contract invariant analysis
Mock contract interactions testing
Add deadline reset to contractInteractions:
Implement systematic safeguards:
Create a modifier for owner functions that automatically resets deadline:
Apply modifier to all owner functions
Add events for deadline changes
Add additional security measures:
Implement deadline verification checks
Add function to check last deadline reset
Create emergency pause mechanism for contract interactions
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.