Due to incorrect implementation, the modifier onlyBeneficiaryWithIsInherited does not protect from reentrancy.
The implementation of transient storage is the following:
Explanation:
We load slot 1 and revert it if it is set. However, we are writing in slot 0 (tstore(0, 1)
). Due to that, tload
will always return 0, which leads to reentrancy.
High: Reentrancy attacks
Manual code analysis
Just modify the load slot:
Just modify the load slot:
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.