
Récemment Oracle a publié par accident un PoC (Proof of Concept) d'un DoS (Denial-of-Service) sur MySQL dans le source de correction du problème.
En Mars, la société a publié les mises à jour de MySQL, à savoir les versions 5.5.22 et 5.1.62 qui se réfèrent à des modifications de sécurité : "Security Fix: Bug #13510739 and Bug #63775 were fixed" avec aucun autre détail sur le problème rencontré. C'est une pratique courante de garder les détails de ce genre de faille qui pourraient être utilisés contre les anciennes versions et d'ailleurs les rapports de bugs 13510739 et 63775 ne sont pas accessibles au public.
Mais, comme l'a trouvé le chercheur en sécurité Eric Romang, Oracle a fait une grosse boulette et a livré dans les nouvelles versions de MySQL une élaboration du scénario "mysql-test/suite/innodb/t/innodb_bug13510739.test" dans son code source qui semble être notamment une partie des tests automatisés pour MySQL, mais aussi une preuve de concept pour la faille qui impacte MySQL 5.5.21 et les versions antérieures. Romang a posté le script sur Pastebin. Ce script nécessite quand même un accès authentifié et les privilèges adéquats mais tout dépend de la configuration du serveur de base de données.
Cet incident démontre que, notamment avec les applications où le code source constructible et testable est publié, si une entreprise veut adopter une politique de non-divulgation ou de sécurité par l'obscurité, il est vraiment nécessaire de faire en sorte qu'aucune fuite d'information ne survienne. Une meilleure solution pour les entreprises (surtout une de cette taille) est d'adopter une politique où il faut documenter ce qui a été corrigé et publier les scripts de test pour les administrateurs afin qu'ils puissent tester leur installation. Essayer de cacher des corrections de bugs de sécurité n'a pas de sens lorsque les pirates sont déjà à la recherche de ce genre de failles dans le code source même...
Bref j'espère pour vous que vos serveurs MySQL sont à jour 