ESPN, citing a source it did not name, first reported Moss had signed the deal with San Francisco. The Washington Post and the San Jose (Calif.) Mercury-News have also reported the development.
The 35-year-old Moss retired in August after 13 NFL seasons but indicated last month he was seeking a comeback.
He worked out with the 49ers Monday in a session during which head Coach Jim Harbaugh threw passes to him.
Moss made 28 catches for 393 yards with five touchdowns in 16 combined games with New England, Minnesota and Tennessee in 2010. In his career, he has hauled down 954 passes for 14,858 yards with 153 touchdowns -- second-most in NFL history behind Jerry Rice's 197.
The 49ers are looking for receiving help after going 13-3 in the 2011 regular season but losing in the NFC Championship Game to the eventual Super Bowl champion New York Giants.