Your mistake because you create an account there and you didn't take enough precaution to protect your account. Your computer or smartphone can be infected by a keylogger or some kind of virus.
The mistake of the exchange because they have security problems.
It can be the mistake of both of you too.
I totally agree with this, first of all its the owner of the wallet fault, because if he created an account in an exchange it is hard to hack except if the owner isn't careful that he or she gets an email then visit it then try to log in his or her account then it could possibly hacked that way. Butbif the exchange itself is hacked, just like what happen for binance, then binance would would be liable and responsible for the losses.