I believe confrontation is the answer. Yes, the person may deny it, but you have put them on notice that you know what is going on and won't tolerate it. People that gossip and spread rumors are cowards and rarely admit to it...but that is okay because you know what is going on.
But if we don't confront them, it is tantamount to approving what they are doing. And if we don't confront, we do not give them a chance to change and learn something.
Also if you hear the rumor come back to you from one person, ask the person to come with you to confront the person spreading the rumor. It is really amusing to see the face of the person spreading the rumor get caught red-handed.