The US Coast Guard says the 90-metre Saint Laurent was headed from Montreal to Toronto when it hit a wall in the Eisenhower Lock in Massena, near the Canadian border, around 9:30 pm yesterday.
There were 274 French passengers and crew aboard.
The Coast Guard says 27 passengers and three crew members were injured.
Officials say all were taken to a nearby hospital, where most were treated and released. Two people remain hospitalized today with serious injuries.
The Saint Laurent is owned by Miami-based FleetPro, formerly International Shipping Partners.
The crash remains under investigation.