Before issuing runway crossing clearance, the lone ATC controller asked, who's the vehicle who needed to cross the runway?
I listen to a lot of ATC audio feeds. To me this reads like, ATC thought the fire truck was at the runway, waiting to cross. When permission was given the CRJ was maybe 35 or 40 seconds away, plenty of time to cross a 200' wide runway. So if the truck was where ATC thought it was, then this would not have happened. The fire engine driver should have not asked to cross AN ACTIVE FUCKING RUNWAY until he was actually ready to cross it.
Next, LaGuardia is equipped with runway status lights. These are a completely independent system, no input from ATC. If a plane is approaching, the lights are red, and any aircraft or vehicle is not allowed to enter the runway. If you have clearance, you're supposed to STOP and ASK AGAIN. In the leaked surveillance footage, you can see the lights are red then change to green. The fire engine driver should never have entered the runway with red lights.
This is 100% on the firefighter who wanted to play hero. But firefighters unions have made them into untouchable gods.
EDIT to add: The runway status lights are like TCAS, it's a self contained independent system. In the air, if ATC tells you to climb, but TCAS says a collision is imminent and to dive, you ignore ATC and dive. The lights are given the same priority on the ground.