UN says 12 million at risk of starvation amid war and more than $2bn is needed to stop disaster getting even worse.