The onlyBeneficiaryWithIsInherited modifier contains an off-by-one error in its array bounds check, allowing access to memory beyond the beneficiaries array and potentially matching random addresses.
Critical issues:
Array Bounds Error
Loop runs one iteration too many (length + 1)
Accesses array out of bounds
Reads arbitrary memory after array
Could match random addresses in memory
Memory Safety
Solidity arrays are not null-terminated
Reading past array reads arbitrary storage
Could match any address stored in memory
Unpredictable and unsafe behavior
Affected Functions
CRITICAL - The vulnerability enables:
Access Control Bypass
Random addresses might get access
Array bounds violation
Unpredictable authorization
Memory safety violation
System Compromise
NFT buyout system exposed
Trustee system exposed
Arbitrary memory access
Potential system corruption
Fix Array Bounds:
Use Safe Data Structures:
Add Safety Checks:
Proper array bounds validation
Memory safety guarantees
Clear error messages
Event logging
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.