The bomb went off at 6:00 p.m. Moscow time (3:00 p.m. GMT) as the bus was travelling from Vladikavkaz, in the Russian Republic of North Ossetia, to the neighboring city of Pyatigorsk. A nine-year-old girl was among the dead.
Police say the bomb, which detonated as the bus was standing at a traffic police checkpoint, consisted of nails and other pieces of metal. It is believed that there were around 19 people on the bus, including two drivers, at the time of the blast.
"Initial reports by explosives experts indicate that the bomb contained the equivalent of 300 grams of TNT," the source added.
North Ossetia is home to Beslan, where Chechen militants seized a school in 2004, leading to the deaths of 300 people, many of them children.
Thursday's tragedy was the second explosion on a bus in Russia in recent weeks, following a blast in the southern city of Togliatti that killed 8 people and left 50 injured on October 31.
No one has claimed responsibility for either blast.
December 2 sees parliamentary elections in Russia, and authorities have issued warnings about the possibility of attacks in the weeks leading up to the polls to trigger instability.