It just does change sometimes. If he had a solid routine and pattern before it will likely change back. Try to just go with it for now and go to bed earlier.
My 2 year old went through the same phase of bedtime creeping earlier and earlier and then a period of 5 am wake ups at a similar age to yours. It's tough on your own so you have to go to bed earlier and then if you can't get him back to sleep or to sleep in bed with you for the rest of the morning, shut the two of you in the living room, make sure the living room is completely toddler proof, stick something on the telly and doze on the couch with him.
That will get you through. Then as a PP said, change some things but give it time to see what helps. Offer a supper of porridge and banana, weetabix with hot milk or something like this just before bed. Size up a nappy if you think the full nappy is waking him early, try white noise, check your heating is keeping his room warm enough in the early hours when the temperature has dropped, etc.
Then I would try this: when he wakes at 5, go in and give him a cuddle and say "shh, it's bedtime" and put him back to bed and leave. Don't put bright lights on when you do this. Leave and see what happens. If he's not upset but calls out again I'd keep doing that each time and see if it helps. Minimal interaction and less talking each time. So next time just "shhh" and back to bed. Then just put back to bed. Treat it like a night waking.
He might be too young to respond to this but give it a go. You'll know pretty quickly if it's not working yet and you can abandon it til he's a bit older. We tried it and our son was too young so we leaned into the 5am wakings for a while, dozing on the couch in the morning and trusting it would pass. Now he's older if we get random phases of early waking we can put him back to bed. This morning he woke at 5 but after a nappy change in the dim light, a quick drink, and being told "it's still night time and mummy and daddy are sleeping" he went back to bed til half 7.
Hang in there x