DKPittsburghSports.com was the first to report the news.
The surgery was characterized as a "clean out," a source told ESPN.
Williams, 33, ran for more than 300 yards from scrimmage to start the season with Le'Veon Bell out because of a suspension. Once Bell returned, Williams has carried the ball only nine times since October.
Williams missed the Week 7 game against the New England Patriots with a knee injury, and he has missed practices since while dealing with the injury. Fitzgerald Toussaint was the backup for Bell against New England
Williams ranks 51st on the NFL's all-time rushing list with 8,029 yards. After nine seasons in Carolina, Williams signed a two-year, $4 million deal with the Steelers. Since 2015, Williams has produced 12 touchdowns and nearly 1,300 yards for Pittsburgh.
Williams is considered a Mike Tomlin favorite because of his team-first mentality and willingness to handle the dirty work such as aggressive chip-blocking.
For a third running back option, the Steelers can promote Daryl Richardson or Karlos Williams from the practice squad
The Steelers (4-4) host the Dallas Cowboys (7-1) on Sunday.
ESPN's Jeremy Fowler contributed to this report.