Try taking a full seat and do a lot of circles (small circles) because then that will force them to slow down and use themselves. Also try doing a lot of pole work at the canter; such as, extending their canter in between poles and collecting.
I've a pony who used to do that. What I did was plenty of walk and trot work. He used to go into the arena with the expectation of galloping off so we spent weeks just walking and trotting. When he could trot without waiting to canter, we started doing very short canters. As in, we would only do three or four strides once on each rein, with lots of circles and serpentines both before and after to keep his concentration on me. When he stopped galloping off for those three or four strides, we did slightly longer ones and so on until we could canter up the length of the arena without galloping away. Then we worked on more frequent canters. If he started racing, we'd come back to trot.
Eventually, he stopped associating the arena and cantering with galloping around. I stayed nice and calm, being tense and hauling on the reins achieved absolutely nothing. You could try half halts when in canter, sitting up, closing your knee a bit and thinking slow, but I find these to be temporary solutions. The habit needs to be broke first