Haas shot a 66 at the Bay Hill Club & Lodge course while Rose, leader after the opening round, had a 70.
They wound up tied at the top with 36-hole scores of 9-under 135.
Woods was nearing the completion of a solid round, having eagled the par-5 sixth hole and standing at 5-under for the day through 15 holes. He was just one shot out of the lead, but stumbled to bogeys on the final three holes to shoot a 70 for a 139 total.
Woods drove into a fairway bunker at the par-5 16th and put his second shot in the water. He hit a wild tee shot at the par-3 17th that finished 25 yards left of the green and then produced another bad drive at the par-4 18th, leading to another bogey.
All of that left him with work to do on the weekend if he is to win this tournament for the eighth time. He needs a victory to climb past Rory McIlroy into the No. 1 spot in the world rankings.
Rickie Fowler and rookie Luke Guthrie were among those tied with Woods for 10th place.
A score of 3-over 147 was needed to survive the 36-hole cut and among those missing it was Phil Mickelson, who had three 7s on his card in a round of 79. Mickelson finished at 152 in front of just nine players in the field of 132.
The 66 shot by Haas was the low round of the day and included an eagle at the 16th. Haas, winner of the $10 million FedEx Cup top prize two years ago, completed that hole in half as many strokes as it took Woods to play it.