The accident occurred on Malaysia's longest river, the Rajang, which flows from deep in the rugged interior of Borneo island in the state of Sarawak, Bakar Anak Sebau, police chief of the remote town of Belaga, told AFP.
"An express boat carrying about 100 people has capsized in a swift-flowing river. I believe there were women and children onboard. The boat was overloaded," he said.
He said the boat was believed to have struck a rock while navigating downstream from Belaga through one of many sections of rapids on the 560-kilometre (347-mile) waterway.
Abdul Halim Abdullah, the state government's local administrator for Belaga, told AFP the boat capsized downstream from the town as it was headed toward the coast.
"Around 21 people have not been accounted for," he said.
The boat was ferrying passengers traveling for this coming weekend's Gawai festival, one of the most important festivals celebrated each year by Sarawak's indigenous Dayak people.
Bakar said the boat's capacity was 74 people.
Police rescuers were heading toward the accident site, Bakar said, adding that he had no information on any casualties.
The location of the accident is deep in the wild and sparsely populated interior of Sarawak, the country's largest state and one of two Malaysian states located on Borneo.
The Sun newspaper had earlier quoted another Sarawak official as saying 20 to 30 people may be trapped in the vessel.
We suspect 20 to 30 passengers may be trapped inside the boat which capsized at about 9:00 am," said Liwan Lagang, state assemblyman for Belaga and an assistant Sarawak state tourism minister.