A statement said the incident happened at a government checkpoint in Buhas, about 35km (22 miles) south-west of the rebel stronghold of Donetsk.
Donetsk regional officials blamed pro-Russian rebels but a report said rebel leaders had denied involvement.
Fighting has intensified recently, despite a truce agreed in September.
One report said the bus had been carrying civilians from the coastal town of Mariupol.
Vyacheslav Abroskin, head of the Donetsk regional interior ministry, said it appeared the target had been a roadblock set up close to the nearby town of Volnovakha but the attack had gone wrong.
"It was a direct hit on an intercity bus," he said.
"An investigation is in progress. The road between Donetsk and Mariupol has been closed," he said.
Initial reports said a shell had hit the bus, although a statement by the military later said it could have been a Grad rocket.
Mr Abroskin later said that 10 people were killed and another two later died from their injuries in hospital.
The Russian news agency Tass quoted rebel officials as denying they had carried out the attack.
Correspondents say government forces and rebels frequently blame each other for missile and artillery fire that claims civilian lives.
In a statement, Ukrainian President Petro Poroshenko condemned the attack, blaming the rebels and those "who is arming them and inspiring to commit bloody crimes".
He also announced that on Wednesday he would order a new wave of mobilisation in Ukraine.
The latest incident comes after peace talks mooted for this week were scrapped.
President Poroshenko said in December that he planned to meet Russian President Vladimir Putin in Astana, capital of Kazakhstan, on 15 January alongside the German and French leaders.
But following talks in Berlin on Monday, foreign ministers for the four countries said that "further work needs to be done" before a summit could be held.
They cited as stumbling blocks the failure to implement the ceasefire fully and the need to agree on how to deliver aid and free prisoners. Almost 5,000 people have been killed since the conflict began nine months ago.
Earlier on Tuesday, the air traffic control tower at Donetsk airport was destroyed amid renewed fighting.
Both sides consider the airport strategically important but it now lies in ruins after months of shelling and artillery fire.
The BBC's Sarah Rainsford in Moscow says that for many Ukrainians, the control tower has become a symbol of resistance to the pro-Russian insurgents.
In another development, the US Treasury said it would provide a $1bn (£660m) loan guarantee to Ukraine in the first half of 2015, provided Ukraine remained on track to meet the conditions of its loan from the International Monetary Fund.
Ukraine has been pushed close to bankruptcy by the separatist war in the east and huge debt repayments.
A US Treasury statement said that a further $1bn loan guarantee could also be provided in late 2015 "if conditions warrant".
Source: BBC News Europe