I’m getting more and more concerned about the current Oracle approach to MySQL security. And the fact that I was solely responsible for the security@mysql.com for about ten years, doesn’t make it easier, on the contrary, it only emphasizes changes in the attitude.

Starting from the obvious — somewhat slower response to critical bug fixes, which can be expected, Oracle is a big company, right? Very little information about security vulnerabilities is disclosed, CPUs are carefully stripped from anything that might help to understand the problem, it takes hours to map them to code changes. Heck, even test cases are kept private now. This seriously smells Security through Obscurity to me.

But all that isn’t news. Here I want to talk about the recent wave of security vulnerabilities. If you search for, say, “mysql security full-disclosure”, you will find the original postings to the full-disclosure@lists.grok.org.uk mailing list, as well as further discussion and my replies. Not Oracle replies, though. In short, the vulnerabilities  announced in the early December were:

  1. CVE-2012-5611 MySQL (Linux) Stack based buffer overrun PoC Zeroday
  2. CVE-2012-5612 MySQL (Linux) Heap Based Overrun PoC Zeroday
  3. CVE-2012-5613 MySQL (Linux) Database Privilege Elevation Zeroday
  4. CVE-2012-5614 MySQL Denial of Service Zeroday PoC
  5. CVE-2012-5615 MySQL Remote Preauth User Enumeration Zeroday
  6. CVE-2012-5627 MySQL Local/Remote FAST Account Password Cracking

All posted to the full disclosure mailing list, accompanied by exploits in Perl. Out of these issues, the 3rd was a configuration issue (FILE privilege granted to untrusted user, no --secure-file-priv used), 4th was already fixed in the latest MariaDB and MySQL releases (the reporter used an outdated MySQL version), 1st — the most dangerous one — was already fixed in the latest MariaDB release (we were lucky to discover this issue independently few weeks ealier and immediately released a fix). Everything else was valid, exploitable, and very much public, after the original postings were quoted in various blogs and news articles.

In a due time MySQL 5.5.29 is released. The 1st issue — CVE-2012-5611 — looks fixed. The second one — CVE-2012-5612 — is fixed too. Hurra! But 5th and 6th vulnerabilities — CVE-2012-5615 and CVE-2012-5627  — are not fixed. Which, apparently, leaves MySQL installations at the mercy of any script-kiddie, who can use google. And the 1st one (the worst of all) is fixed incompletely — the fact, that is simply impossible to miss, given the amount of testing that MySQL continuous integration framework (Pushbuild2) is performing.

Really, I wouldn’t expect a database vendor to blatantly ignore publicly announced vulnerabilities, that have CVE identifiers, known and easily available exploits, and were posted and reposted all over. So, Oracle, what was that, eh?

2013/Feb/05 UPDATE: MySQL 5.5.30 doesn’t seem to fix these issues either. Two months after the vulnerabilities went public. After MariaDB 5.5.29 release (with the fixes) and this blog post! I don’t think the Hanlon’s razor can explain that.

The MariaDB project is pleased to announce the immediate availability of the following new stable (GA) MariaDB versions:

Security Updates

These releases are “bug fix” releases and they include, among other things, fixes for the following security vulnerabilities:

New Packages

MariaDB 5.5.29 includes packages for Fedora 18 “Spherical Cow” and Ubuntu 12.10 “Quantal Quetzal”. Visit the Repository Configurator to generate the necessary commands to easily install MariaDB on these and many other distributions.

We’ve also extended the repository configuration tool to provide instructions for distributions which include MariaDB. We’ve started with Mageia and will be adding others soon.

Discontinued Builds

Along with the news of new package builds is the news that some old distributions will be deprecated. The MariaDB project tries to support as many different operating systems and Linux distributions as possible. However, when a distribution or OS stops receiving upstream security and other updates it becomes difficult to provide packages for that platform. In such cases, our policy is to deprecate that platform and stop building binary packages for it in our build system.

As of 1 Feb 2013, we will stop building and testing packages for the following:

  • Fedora 16 “Verne”
  • Debian 5 “Lenny”
  • Ubuntu 10.10 “Maverick”
  • Ubuntu 11.04 “Natty”

Even after your chosen Linux distribution is deprecated, packages and support are still available. Companies such as SkySQL and Monty Program (among others) provide paid support for all versions of MariaDB and back to even very old MySQL versions. This includes packaged binaries.

More information on our deprecation policy can be found on the MariaDB Deprecation Policy page.

Archived Releases

From the beginning of the MariaDB project in 2009 we’ve kept all of our old releases online via our network of mirrors. Doing this is great for those few who are interested in old releases, but the disk space required to host all of our old releases is over 130 Gigabytes at present and grows by several gigabytes with each new release. This is too much for some of our mirrors to handle. So, starting with this round of releases our primary mirror will only host the most recent few releases in each series (5.5, 10.0, 5.3, and so on). Mirrors are, of course, free to keep archiving every release, but the primary mirror that they pull from will not.

Old releases do have value, so for those that are interested in old releases, we are setting up a simple, no frills, archive server which will host them. Once the server is up and running, links to archived releases on https://downloads.mariadb.org will point at the archive server. During the transition period, links to some old releases may disappear for a short time, but don’t worry, they haven’t been deleted, they’re just being moved!

If you have hundreds of spare gigabytes on a fast connection and would also like to host the complete MariaDB archive, contact us at mirror at mariadb.org and we’ll include a link your mirror from our archive server. (see Mirroring MariaDB for more information about becoming a mirror).

User Feedback plugin

MariaDB includes a User Feedback plugin. This plugin is disabled by default. If enabled, it submits basic, completely anonymous MariaDB usage information. This information is used by the developers to track trends in MariaDB usage to better guide development efforts.

If you would like to help make MariaDB better, please add “feedback=ON” to your my.cnf (my.ini on Windows) file!

See the User Feedback Plugin page for more information.

Quality

The project always strives for quality, but in reality, nothing is
perfect. Please take time to report any issues you encounter at:

http://mariadb.org/jira

We hope you enjoy MariaDB!