An interim South Korea government report says the 16 April sinking of the Sewol ferry was partly due to government negligence and corruption.
It cited lax regulation, poor safety inspections and a slow and badly-coordinated coast guard response as factors that led to the disaster.
Eleven officials have been referred to prosecutors on corruption charges and dozens more face possible legal action.
The ferry sinking killed 304 passengers, most of whom were students.
A total of 293 bodies have been recovered and 11 passengers remain unaccounted for. Search operations are still continuing.
The disaster sparked national mourning and intense public criticism of the government.
Two separate trials, one for the ferry's captain and crew, and another for the head of the ferry operator and other company officials, began last month.
The South Korean government's audit and inspection board said in its report on Tuesday that the regional port administration had licensed the ferry even though it had been illegally converted, according to state news agency Yonhap.
The ship was found to have been illegally modified so that it could carry more cargo.
The Korean Register of Shipping, which is a body appointed by the government to inspect ships, also did not carry out proper safety check-ups.
The report also said the coast guard missed a crucial period to rescue passengers and botched its rescue operations. The agency failed to maintain proper communication with the ferry and issued ill-matched rescue orders.
Meanwhile the trial of the ferry's captain and 14 crew members continued on Tuesday in the city of Gwangju, with video evidence from inside the stricken ship shown in court.
The BBC's Lucy Williamson says prosecutors have alleged that the more than 300 deaths were avoidable had the crew acted differently. They said they would show footage of a young passenger standing metres from an exit door as the ship sank.
The gallery was packed with parents of victims, who jeered and shouted at the defendants when a video of the captain and crew jumping into a rescue boat was shown, according to agencies.
During a break in proceedings, some parents harangued the judge and defendants, and one woman tried to throw her shoes at the dock.