there is no validation in changeOwner() function to ensure that ownership is not lost.
The changeOwner function is used to change the contract owner to a new owner. But the issue here is that anyone can call changeOwner() and set themselves as the owner of the contract thereby stealing the protocol.
Ownership is lost
Manual review
Use the onlyOwnermodifier or implement checks that ensures that only the contract owner can call the function to transfer ownership.
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.