McIlroy is three shots back entering the final round at Glendower Golf Club in Johannesburg, South Africa. He stands at 14 under par, following a third-round 67. Storm (67) is at 17 under.
McIlroy was hampered by a bad back in the second round and, following some work with trainers, was able to compete on Saturday. He was slow out of the gates, with one birdie over his first six holes, but then he holed out for eagle on the par-4 seventh.
That sparked a run in which he played a seven-hole stretch in 5 under par. But McIlroy was unable to birdie the par-5 15th and then, for the second consecutive day, bogeyed the last.
Still, he sounded upbeat entering the finale.
“I’m very pleased,” McIlory told reporters. “I was in a bit of discomfort early on but the physio got me out to play. I started well and drove the ball well. I gave myself plenty of chances and took a few of them in the middle of the round like I did yesterday.
“It was a decent score, but I felt it could have been better. The finish was disappointing, not birdieing 15 and then dropping a shot on the way in, but I’m still in with a shout tomorrow and that’s all I can ask.”
He lone tour victory came in the 2007 French Open. He hasn’t made a bogey in his last 41 holes played.
''I have never played with Rory before and I know him really well so it will be a lot of fun,'' Storm said. ''If he hits a good shot and pips me or beats me comfortably, or whoever makes a move from behind, I can't really control that. All I can do is control my golf ball.
''If I can shoot another score in the 60s I'll be pleased even if I don't win. I have come here as a big underdog so that is fine with me.''