The _blockingLzReceive
function lacks nonce validation, potentially leading to nonce reuse with the overwriting of failed messages or duplicate events.
In _blockingLzReceive
, when nonblockingLzReceive
succeeds, the nonce is utilized solely within the event log. Conversely, if it fails, the failed message is stored in failedMessages
with the nonce as part of its key:
No checks are performed to ensure the nonce has not been previously used.
duplicate MessageSuccess
and MessageFailed
with same nonce can be emitted
failedMessage can be overwrite since nonce can be reused
Manual
It's recommended to implement nonce validation checks to prevent issues related to duplicate nonces.
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.