An ageing population, climate change and geopolitical tensions all add pressure to the public finances, a report says.