Silva suffered an exposed fracture of the leg after the accident on Montevideo's main seafront avenue on Sunday morning.
"It's the condition of the leg which worries us," Mario Cancela, head of the intensive unit at the private hospital said.
"It's a very complex injury and a real risk."
Silva, who played in England, Spain and Italy is currently without a contract.
The 33-year-old striker began his career with local side Defensor Sporting before joining more fashionable Penarol.
He moved to Europe in 1995 to play for Italy's Cagliari before moving onto Espanyol, Malaga and Sevilla in Spain as well as Portsmouth.
Silva made 49 appearances for Uruguay between 1995 and 2005, scoring 14 goals, and played at the 2002 World Cup.
His last international appearance was in the World Cup qualifying playoff at home to Australia last year.