The 37-year-old was reported for a suspect bowling action during a one-day international against Sri Lanka in Abu Dhabi last October, with an assessment finding it illegal for the third time in his career.
He underwent remodelling of his action and had a re-assessment of his bowling action last month.
"The International Cricket Council (ICC) announced that following remedial work and re-assessment, the bowling action of Pakistan's Hafeez has been found to be legal, and the off-spinner can now resume bowling in international cricket," said an ICC statement.
On April 17, Hafeez underwent a re-assessment of his bowling action at Loughborough University, England where it was revealed that the amount of elbow extension in his bowling action was within the 15-degree level of tolerance permitted.
Officials are still at liberty to report Hafeez in the future if they believe he is displaying a suspect action and not reproducing the legal action from the reassessment, the ICC added.
Hafeez was first suspended from bowling in December 2014 after being reported during a Test series in the United Arab Emirates.
Following remedial work on his bowling action he was re-assessed and permitted to resume bowling in April 2015.
He was then suspended from bowling in July 2015 for 12 months.
Hafeez was able to resume bowling again in November 2016 before he was reported for a third time.
Hafeez is not part of Pakistan's Test squad currently touring Ireland and England.
Pakistan head coach Mickey Arthur last month said Hafeez needed to clear his action.
"The doors are not closed for Hafeez at all. If Hafeez is bowling, he becomes a very good option for us. If he doesn't bowl, it becomes a problem," Arthur said.
Hafeez was also dropped from Pakistan's Twenty20 series in New Zealand in January and a home series against the West Indies last month.
Meanwhile, West Indies fast bowler Ronsford Beaton failed an independent assessment and is suspended from bowling in international cricket, the ICC said.
Beaton made his international debut last December, playing two ODIs in New Zealand.
First Published: May 1, 2018, 11:03 PM IST