It's most likely the controller, but if Scott will look at it for you, I would do that because it would suck to spend the 50 bucks or so on the control module and have it not be that. They typically fail where they'll run in high speed all the time no matter what the fan is set at. Yours has failed a bit differently. The controller is just a MOSFET transistor and some supporting circuity that varies the voltage to the fan. The transistor usually shorts, so all it will do is pass the full battery voltage. I've fixed a couple of them for friends by just changing the transistor. It's about a 5 dollar part and takes 10 minutes to change if you're handy with a soldering pencil.
There is a possibility it could be the main HVAC controller in the dash too.