This definitely sounds like a hack.
Having played Modern Warfare 2 online for the past few years (ie many years after the game was released), I can confirm that these hacked lobbies exist. Often they will simply level everyone in the lobby up, unlocking all weapons, weapon skins, weapon mods, and every other unlockable that would otherwise take hundreds of hours of play to unlock. This is easy enough to verify - simply look through your son's weapons and see if indeed everything is unlocked.
To see if this was a one-time hack while on the hacked lobby, try joining another game that does not appear to be hacked - is your son still at level 55 with everything unlocked?
If not, then you're fine! You can probably continue playing as normal.
If so, then your son's account was leveled up through a hack. So what are the consequences of this?
Well, on the one hand you'll have everything unlocked. This for some people is a dream come true, since again, what normally would have taken hundreds of hours in game is almost instantaneously accomplished on a hacked server. Further, Activision (or whoever the developer of the particular COD game is) is unlikely to care, as this usually only happens in older entries in the series which they no longer monitor.
However, if you're like me and want to feel the sense of accomplishment from unlocking everything myself, then you'll likely need to reset your online account. There is usually an option to do this in the multiplayer options of the game (though you haven't provided the specific COD you're using, finding the option itself should be fairly intuitive via the in-game menus).
Regarding prevention in the future, unfortunately there is not much to be done. If you join a server you suspect to be a hacked lobby, you can try to leave before any of the more permanent hacks (like leveling up) are done to your profile. Otherwise this may be something you need to get used to.