At least 200 people in South Sudanese have drowned in a ferry accident on the White Nile river while fleeing fighting in the city of Malakal.

"The reports we have are of between 200 to 300 people, including women and children. The boat was overloaded," army spokesman Philip Aguer said.

"They all drowned. They were fleeing the fighting that broke out again in Malakal."

Thousands of people have died or been displaced in fighting between forces loyal to President Salva Kiir and a coalition of fighters led by former vice president Riek Machar.

Heavy fighting was reported in Malakal, the state capital of the oil-producing state, as rebel forces staged a fresh attack to seize the town.

It has already changed hands twice since the conflict began on 15 December.

"There is fighting anew in and around Malakal," said UN aid chief for South Sudan Toby Lanzer.

He said the peacekeeping base had been inundated with people seeking shelter, with the number there rising from 10,000 to 19,000.

The army reported heavy fighting south of Bor, as the government sought to retake the town from rebels, the largest in their control.

"We are marching on Bor. There was very heavy fighting late on Monday," Mr Aguer said.

However, he rejected rebel claims to have captured the river port of Mongalla, situated between Bor and the capital Juba.

"We are north of Mongalla, we remain in full control there," he said.

According to the United Nations, around 400,000 civilians have fled their homes over the past month.