The data length is not checked before abi.decode, which could result in wrong address being decoded, and lose some amount, or fail the transaction.
lzReceive()
does not check payload
length before decoding, if bytes data is provided, the recipient address could be wrong and lose the recipient amount. Or get wrong recipient.
Some amount could be lost if decoded the wrong address, such as the recipient.
Some function call might fail if adapter is wrongly decoded.
Manual Review
Add check for the bytes data length before abi.decode.
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.