Incomplete beneficiary payout due to looping logic flaw
Incorrect fun calculation (Truncation of remainder amounts)
Due to incorrect looping the nft.burnEstate
is never reached, function can be called multiple times
Impact 1 - Due to the loop termination flaw, When the sender is the beneficiary the loop exits and safe transfer isnt executed
Impact 2
Due to truncation of remainder amouts, incorrect amounts will be distributed
Impact 3 - Due to Impact 1 the function nft.burnEstate(_nftID);
is never reached with sender == beneficiary
this can be used as a replay attach since the this function can be called multiple times, and the nft never gets burned
Manual review of math logic
AI for understanding impact and seriousness
Fix 1 : Final amount calculation should take into account of remainder amounts
Fix 2 : Loop should still contiune in the event the sender == benficiary
instead of exiting
Fix 3 : If fix 2 is implemented then Replay Attack issue will be resolved
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.