Tens of millions of barrels of Iranian oil already on tankers have been left in limbo after the US walked back a waiver allowing the Islamic Republic to sell the crude.