Is кто always masculine?
Is что always neuter?
I can't recall situations in which it's not. So, yes, "кто" and words which derived from "кто" ("кто-то", "некто" and so on) are masculine, "что", "что-то", "нечто" are neuter.

However when you talk with russian natives you can hear sentences in which this rule doesn't work. It happens when speaker says "кто" but implies a woman.

For example: some woman has met a little girl and wish to make a compliment, to flatter. She can ask (factitiously):
- Кто это у нас тут такая нарядная? Кто такая красивая?

If my memory serves me, it's a mistake (in high, literary style), however in every day speech it happens often, very often.