and I couldn't find any mention of that on the whitepaper (or maybe I was too fast reading?): https://storage.googleapis.com/website-bancor/2018/04/01ba8253-bancor_protocol_whitepaper_en.pdf
It's weird to me.
Here's what the team stated about freezing the BNT:
Once the theft was identified, we were able to freeze the stolen BNT, limiting the damage to the Bancor ecosystem from the theft. The ability to freeze tokens was built into the Bancor Protocol to be used in an extreme situation to recover from a security breach, allowing Bancor to effectively stop the thief from running away with the stolen tokens.
so the protocol was able to do the freezing.
Indeed, it was done through the Smart-Contract without accessing anyone's wallet.