Ferdinand taken for hospital scan
The Manchester United defender was hurt in a tackle during England’s first training session at their base in Rustenburg.
The 31-year-old started just 13 Premier League games last season and the news is a huge blow to manager Fabio Capello as his side prepare to face the USA in eight days time.
Ferdinand has been part of four World Cup squads and has 78 England caps to his name.
Tottenham Hotspur defender Michael Dawson is expected to be called up if Ferdinand does not recover.
Dawson was part of Capello’s 30-man provisional squad but was axed when the final 23 were announced on Tuesday.
The 26-year-old has never made an appearance for his country but has been in sensational form for Spurs as he helped them secure a Champions League spot last season.
Ledley King would be likely to partner John Terry in the heart of defence, with Dawson on the bench as back-up.
Spurs boss Harry Redknapp criticised Capello this week over the treatment of Dawson and claimed the Italian only included him to "make up the numbers."
Steven Gerrard would take over as captain if Rio Ferdinand withdraws. The Liverpool midfielder led his hometown club to Champions League success in 2005.
The 30-year-old captained England against Egypt in March this year and was Ferdinand’s main rival for the armband when John Terry was stripped of it earlier this year.
Capello, speaking to the media on Friday, said: "More bad news - Rio suffered a knee problem and he has just gone to hospital for a scan. We hope it is not a bad injury but that is all we know."
He also confirmed that midfielder Gareth Barry was recovering well after injury. He said Barry, who had injured his right ankle, trained well and was "improving every day."
The England manager added that he was thrilled to be in South Africa and was revelling in finally having a serious game to prepare for. "It is seven months now since our last qualifying game," he added.
By Tom Parsons