The driver of the bus had swerved to avoid hitting a tyre in the road and the bus plunged into a ditch and overturned, the Star newspaper said on its website.
It said two people escaped unharmed.
State news agency Bernama said, quoting local police, said all the passengers were Malaysian and that 15 of the survivors were hurt seriously.
The accident occurred at around 1 am (1700 GMT) near the town of Tapah on the country’s main north-south highway, as the bus was en route to a mountain resort, the reports said.
Pictures of the aftermath that were posted on Twitter showed the charred skeleton of the bus lying on its side. (AFP)