The vessel was carrying nearly three times its recommended limit of 74 passengers, including many indigenous tribal palm oil and timber workers returning to their home villages for a harvest festival holiday, said Bakar Sibau, a district police chief in Malaysia's Sarawak state.
Police divers, fire department officers and villagers were searching for the missing passengers in the river, known for stretches of swift-flowing rapids.
"We believe some of them might still be trapped inside the boat," Bakar said, adding that the passengers included men, women and children.
Rom Kulleh, a political aide who flew in a helicopter over the river shortly after the accident, said he and his state legislator boss saw the overturned boat.
"We spotted some people being saved by villagers in smaller boats," Rom told the AP.
The accident occurred during a 130-kilometer (80-mile) journey that usually takes about three hours.
Rivers form the main transportation network for hundreds of thousands of people in sprawling Sarawak. Public concerns about safety, including the enforcement of rules for ferry capacity, have occasionally emerged, but major boat accidents in Sarawak are rare.
"Overcrowding is common, but everyone is used to it. We are very far away here from the enforcement officials," said Daniel Levoh, a district official familiar with transportation issues.
Borneo island is divided among three countries: Indonesian territory in the south, two Malaysian states in the north and tiny Brunei on the north coast.