"We are paying a very heavy price for the mismanagement that's the kindest word I can give you of Donald Rumsfeld, of this war," the Arizona senator told an overflow crowd of more than 800 at a retirement community near Hilton Head Island, South Carolina. "The price is very, very heavy and I regret it enormously."
McCain, the ranking Republican on the Senate Armed Services Committee, complained that Rumsfeld never put enough troops on the ground to succeed in Iraq.
"I think that Donald Rumsfeld will go down in history as one of the worst secretaries of defense in history," McCain said to applause.
The comments were in sharp contrast to McCain's statement when Rumsfeld resigned in November, and did not address President George W. Bush's role as commander in chief, reports AP.
"While Secretary Rumsfeld and I have had our differences, he deserves Americans' respect and gratitude for his many years of public service," McCain said last year when Rumsfeld stepped down.
On a two-day campaign swing in South Carolina, McCain fielded questions from the crowd for more than an hour and said the United States can succeed in Iraq with additional troops and a new strategy. McCain has been a strong proponent of using more troops and favors Bush's increase of some 21,500 U.S. forces in the nearly four-year-old war.