The Browns waived defensive back Denzel Rice in a corresponding move to keep their roster at 53.
Buffalo cut Gaines on Tuesday amid a frustrating stretch that saw him commit three pass interference penalties in four games. He started six games and recorded 30 tackles for the Bills after coming over in free agency.
The Packers released Whitehead after he was ejected from Sunday's game against the New England Patriots for slapping offensive lineman David Andrews. Whitehead had a career-high 17 tackles and two passes defensed before being released.
Gaines previously spent the first four seasons of his career with the Kansas City Chiefs after being taken in the third round in 2014. He has started 22 of his 48 games in five seasons, recording one career interception.
Whitehead had been used almost entirely on special teams until this season, when a rash of injuries forced him into regular duty on defense. The Packers claimed Ibraheim Campbell off waivers before releasing Whitehead this week.
The Browns have quietly performed well in the secondary this season. While they are 31st in yards allowed, they have picked off 13 passes and held quarterbacks to an 81.7 rating, second in the NFL behind the Chicago Bears.
Football Outsiders ranks the Browns' pass defense second in the NFL.