Two Italian workers and a Canadian kidnapped in Libya in September have been freed and were flown to Italy early on Saturday, Italian and Libyan officials said.