DS is 2.7 and goes to a CM four days a week. Tonight I was telling DH how I had to tell DS off because he kept running away when we were walking home. DS pipes up: 'Yes, Daddy. Mummy pissed me off.' DH and I tried not to react, though shot each other a
face over DS's head. I said to him, 'No, DS, I TOLD you off, didn't I?' 'No, Mummy pissed me off.'
Then he just kept on saying it. DH asked him what he'd done today and DS said, 'I played with G. He pissed me off.' Then a minute later he was sat on his bed and said, 'Fucking FUCK, fuck's sake'.

It wasn't so much what he said (though that's bad enough) but it was the way he said it - with real venom. He's such a happy-go-lucky, sunny little boy and DH and I are really shocked and upset to hear him say these bad words. He's still a baby!
By the way, I'm not some kind of Mary Whitehouse figure. I swear a fair amount in adult company and think swearing is funny. But I NEVER swear in front of DS. Ever. And neither does DH.
We can only think that he's picked this up at the CM's. He's never sworn before at all and suddenly this torrent of bad words all at once, clear as a bell. There's nowhere else he could conceivably have picked this up - he pretty much sees us, the CM and the odd friend or family member, none of whom have sworn in his presence.
DH phoned the CM and she said she couldn't think where he's picked it up. She has two grown-up sons who live in the house and they both have girlfriends who are round a fair bit but she said they weren't around today.
Are we totally over-reacting and being PFB? I know kids are little sponges but I feel a bit gutted that DS isn't even 3 and he's already said 'fuck' 
If you're a CM, how would you handle this with a parent?