I was a bit shocked and disheartened tonight to discover that my WordPress version was being broadcast to the world without me knowing it. It's something that I hadn't ever really given much thought to, mostly because I always assumed that a piece of information like that wasn't being given out. What was even more disheartening to me was what I discovered as the method for disabling this broadcasting of my version number. The easiest way, by far, was to just install the Secure WordPress extension (or I could dive into a bit of their PHP code and have to make the change with each upgrade, not so much fun). Not so long ago, there was a huge ordeal about a vulnerability in WordPress 2.8.3 that allowed an attacker to reset an admin password very easily. No wonder they urged us to upgrade so quickly - your vulnerability was being broadcast.
The sad part is, broadcasting this version number isn't something that can be disabled using the built-in settings. I don't know what the rationale is, but one either has to edit the functions.php file in WordPress directly, or install the plugin mentioned above.
Anyway, this got me thinking about plenty of other open source softwares that I've disguised over the years.. For instance, perform a fresh install of Ubuntu 8.04 with the LAMP stack and you'll see the version listed in the headers as detailed as this:
Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.9 with Suhosin-Patch Server
Yup, there it is, script kiddies. Bust out Metasploit and eat your hearts out. In this case, if one leaves the defaults enabled, the server major version, minor version, PHP version, OS, and WordPress version all are exposed. That leaves a pretty nice little attack vector.
Of course, hiding these things doesn't mean that anything is secure. On the contrary, one must go far deeper than that. I am just disappointed in so many open source projects that cut down the time needed for any script kiddies to start playing with my public services.