The 32-year-old Cash played for the Red Sox in 2007 and 2008. He'll give the Red Sox depth behind the plate after they put All-Star catcher Victor Martinez on the 15-day disabled list Tuesday because of a broken left thumb.
Cash hit .204 with two home runs and four RBIs for Houston. The Astros designated him for assignment on June 22 and no team made a move to get him.
Sanchez played in one game for Boston. He hit .274 for Triple-A Pawtucket. The Astros recently lost rookie shortstop Tommy Manzanella for six weeks because of a finger injury.
Houston also designated Triple-A Round Rock infielder Yordany Ramirez for assignment.