It added that the suspect had worked as a security guard in Yuzhno-Sakhalinsk, some 6,650 km (4,130 miles) from Moscow.
There was no immediate word on a motive in the attack, which came six days after a Moscow teenager killed a teacher and a policeman and held classmates hostage in the first major school shooting in Russia.