Jon Heyman of CBS Sports reports that the deal is worth $8.5 million.
Burnett became a free agent after he declined a $12.75 million option for 2015 from the Philadelphia Phillies earlier this month. The 16-year veteran spent 2014 in Philadelphia and will be returning to Pittsburgh, where he played in 2012 and 2013.
In August, the 37-year-old said he would probably retire at the end of the season, but softened that stance a week later, saying it would depend on how he and his family feel. When he became a free agent, his agent told FOX Sports' Ken Rosenthal that Burnett wanted to pitch for a contender next season.
In April, Burnett was diagnosed with an inguinal hernia in April and pitched with it for the rest of the 2014 season, going 8-18 with a 4.59 ERA and 190 strikeouts in 213.2 innings. He started 34 games, which was tied for the most in MLB, and walked a major league-leading 96 batters.
Burnett holds a 4.04 career ERA and has been a member of five different teams.
The Pirates went 88-74 in 2014 and earned one of two NL Wild Card spots. They lost to the eventual-champion San Francisco Giants in the NL Wild Card game.
- Molly Geary