I would certainly recommend putting CBM on it's own VM..I don't think (at least without looking through the docs) it is a requirement necessarily to have it on it's own. For performance and stability, it would definitely be recommended. I am not sure about the requirements for vCM..but I am certain there would be erformance impact for that application as well with sharing. Also, the logs can grow pretty rapidly (depending on the size of the environment), so you would have to consider sizing for each as well. Just some thoughts, at the end of the day though; I would say seperate them.
I would also make sure putting both on the same VM is supported prior to doing it...doesn't work and not supported are two totally different things.