McIlroy dropped his first shots of the tournament with bogeys on Nos. 3 and 10 but also had five birdies and an eagle on the 13th.
"I feel if I play the same way and execute a little bit better, there's definitely a lower score out there for me," the four-time major winner said. "I got off to a bit of a slow start. I don't know why. I just felt very lethargic out there today and couldn't really get any energy. To finish the way I did was very pleasing because I needed to dig in deep and finish the round off well, which I did."
Thailand's Kiradech Aphibarnrat (66) shared third place with McIlroy.
Van Zyl has led since carding a 61 in the first round and was at 16 under after 28 holes. He has now played the last 26 holes in even par as he pursues his first European Tour title.
"It was kind of a slow day out there today," the South African said. "I did what I needed to do on some holes and let a couple opportunities slip on the back nine."
Dubuisson's only tour victory came at the Turkish Airlines Open in 2013, and he is trying to rediscover some form after earning just two top-10 finishes in 2015.
"My long game has been really, really good since the beginning of the year, but my short game was just really, really bad," Dubuisson said. "I changed my putter a month and a half ago and today was a great performance. ... This is a course I feel great on."