The ZlpVault::withdraw
function lacks a check to validate that the receiver
and owner
addresses are not the zero address (address(0)). In a scenario where either of these addresses is set to the zero address, it could lead to unintended behavior, such as sending assets to an invalid address.
Allowing the receiver
or owner
to be a zero address introduces significant risks to the contract like:
Loss of assets if funds are sent to the zero address.
Potential malicious actors could exploit this vulnerability to cause loss of funds or disrupt contract functionality.
Manual code review
Implement input validation to ensure that the receiver
and owner
addresses are not the zero address before performing any withdrawal operations.
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.