Per ESPN's Adam Schefter, the Bills will receive a fifth-round draft pick in return for McCarron.
Buffalo signed McCarron to a two-year, $10 million contract during the offseason, according to Spotrac.
McCarron spent the first four seasons of his NFL career with the Cincinnati Bengals after they selected him in the fifth round of the 2014 NFL draft out of Alabama.
The only three regular-season starts of McCarron's NFL career came in 2015. He went 2-1 and finished the season with 854 passing yards, six touchdowns and two interceptions.
McCarron also started a playoff loss to the Pittsburgh Steelers that season, throwing for 212 yards, one touchdown and one pick.
During the 2018 preseason, the 27-year-old McCarron completed just 46.0 percent of his passes for 284 yards, three touchdowns and two interceptions.
In Buffalo's final preseason game against the Chicago Bears this week, McCarron played the entire contest and threw for 156 yards, three touchdowns and two interceptions while running for another score.
He led the Bills to a 28-27 victory after they trailed 27-3 entering the fourth quarter.
By trading McCarron, the Bills intend to enter the 2018 season with only 2018 first-round pick Josh Allen and 2017 fifth-round pick Nathan Peterman at quarterback.
Prior to acquiring McCarron, Oakland had three quarterbacks on its roster, including starter Derek Carr, 2016 fourth-round pick Connor Cook and former Bills first-rounder EJ Manuel.