The 3,143 passengers aboard the Carnival Triumph are standing in line for 3 ½ hours to get fed, and that's not the worst of it, CNN reported Tuesday.
One passenger said sewage was "running down the walls and floors" after the ship lost electricity and running water following a fire in an engine room.
With no working toilets, passengers said they were being asked to defecate in bags and urinate in showers.
Some passengers slept on deck to keep cool.
One tug boat has reached the crippled Carnival cruise and another tug is en route to tow the liner to Alabama, Carnival officials said.
Carnival officials said the original plan to call the crippled Carnival Triumph to Progreso, Mexico, was changed after the liner and its more than 4,000 passengers and crew drifted about 90 miles north, ABC News reported Tuesday.
Towing the Carnival Triumph to Mobile, Ala., is expected to take three days.
An engine room fire Sunday stranded the ship in the gulf about 150 miles off the coast of the Yucatan Peninsula. The ship's automatic fire extinguishing system kicked in and contained the blaze. A cause hasn't been released.
There were no injuries or deaths among the passengers or crew.
The ship is listing slightly because of a 25-knot wind, Carnival spokesman Vance Gulliksen told ABC News.
"This listing is to be expected given the wind speed and poses no safety risk," Gulliksen said.
Carnival said its crew restored auxiliary power "to operate some basic hotel functions. Currently, public and cabin toilets are operational in certain sections of the ship ... and some power in the Lido dining area is providing for hot coffee and limited hot food service."
The Carnival Triumph left Galveston, Texas, Thursday with 3,143 guests and 1,086 crew on board for a Mexican cruise, which was to end with a return to Galveston Monday. Carnival officials said passengers would receive a full refund and a voucher for a future cruise with Carnival.