By Justin Webb
BBC News, Washington
A front runner for the 2008 Republican presidential nomination says ex-Defence Secretary Donald Rumsfeld will go down as one of the worst in history.
McCain has backed the president over Iraq - so far
Senator John McCain also accused the administration of mismanaging the war.
Other Republicans have distanced themselves from the war and from President George W Bush.
But Mr McCain had been seen as an important backer of Mr Bush's efforts to drum up political support for his new Iraq policy.
Change of mind
When Donald Rumsfeld resigned as defence secretary last November, John McCain said he deserved respect and gratitude.
Rumsfeld: "One of the worst", according to McCain
At that stage Senator McCain, a Vietnam war hero and military expert, was the front runner in the race to find a Republican replacement for President Bush in 2008.
But since then the senator's support for the troop surge has put him in the uncomfortable position of being closely tied to the Bush White House and he has been slipping in the polls.
In what appears to be a bid to restate his independence, Senator McCain launched a devastating attack on the way the war had been handled.
He said mismanaged was the kindest word he could use.
"I think that Donald Rumsfeld will go down as one of the worst secretaries of defence in history," he added.
For the White House these are wounding comments and a worrying sign that bashing the Bush team might be seen as the best way for top Republicans to campaign for 2008.