The recent worm attack that hit thousands of MySQL installations reflects a growing trend in the malware world. This worm doesn't exploit a weakness in the MySQL code--it exploits lazy admins who could protect themselves with one simple step.
The MySQL worm, like many others, uses a brute-force attack to guess a target's root password. Far too often, it only needs one guess: the default password, which the admin never changed.
The worm also needs an admin to make other mistakes, such as allowing remote access and leaving ports open, both usually for no good reason. But a strong root password is still all it takes to end the joyride before it begins.
This is the main reason why MySQL AB, the Swedish firm that makes the open-source database, took some heat over the incident. Critics want the company to require a password change during the MySQL setup process, something most other database severs already do. Better yet, they'd like to see MySQL disable the root account by default in future releases
Either of these changes probably would have stopped the attack dead in its tracks, and MySQL AB says it's thinking about disabling default root access in MySQL 5.0. That's not a bad idea, but I don't see why the company should take any blame for this attack. Anyone with a reason to install MySQL should know better; if they don't, they need a swift kick in the rear, not another futile attempt to protect them from themselves.
The MySQL attack makes for an interesting comparison, by the way, to another controversy over when and how to manage root access on an open-source product. Unlike MySQL, however, this product is designed for novice Linux users who don't have the first clue about security and probably don't want one. More on that next time.