The South African had five successive birdies from the 13th to move two in front – and that after starting the day six behind.
While Mulroy signed for an eight-under-par 64 and moved on to 15 under, compatriot Jbe Kruger saw his four-stroke overnight lead disappear with a 73.
Chilean Felipe Aguilar also overtook him with a 68 and Kruger is now three behind in joint third spot alongside fellow South African Hennie Otto, Whiteford and Murray.
Whiteford, who has missed the cut in seven of his last eight tournaments, matched Mulroy’s 64, grabbing an eagle on the long 13th, followed by back-to-back birdies and closed with an 18-foot putt for his sixth. Murray shot a 69 that was a real mixed bag. He shared the lead after three early birdies, gave them all back and then climbed into contention again with three more birdies.