The device was apparently hidden in a tin can.
"A man picked up a tin can, the device exploded, and his hand was torn away," the source said.
Investigators are working at the scene of the explosion.
The latest explosion is the sixth this year to hit the city chosen to host the 2014 Winter Olympics. The string of explosions began on April 3, when two people, including a police officer, were injured when a stun grenade exploded.
Four days later, a police officer had his hands torn away when he opened a handbag, left at a local movie theater.
On June 11, a man died when a metal flask he found exploded in his hands and a month later, another man was killed in a similar accident.
On August 7, a canister stuffed with 2 kg (4.4 lbs) of TNT went off on a beach, crowded with tourists during the summer vacation season, killing a 31-year-old man and a 22-year-old Ukrainian woman.