Bug 1228755
| Summary: | openssl update breaks mysql ssl | |||
|---|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | dukrat | |
| Component: | mysql | Assignee: | Jakub Dorňák <jdornak> | |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | qe-baseos-daemons | |
| Severity: | high | Docs Contact: | ||
| Priority: | high | |||
| Version: | 6.7 | CC: | btotty, byte, databases-maint, erinn.looneytriggs, hhorak, hkario, howey.vernon, huzaifas, it, jherrman, jkurik, ksrot, mdshaikh, pasteur, pbajenez, psklenar, rwilliam, thoger, tlavigne, tmraz, toracat | |
| Target Milestone: | rc | Keywords: | Regression, ZStream | |
| Target Release: | --- | |||
| Hardware: | x86_64 | |||
| OS: | Unspecified | |||
| Whiteboard: | ||||
| Fixed In Version: | Doc Type: | Bug Fix | ||
| Doc Text: |
With certain versions of OpenSSL, using SSL to log into a MySQL client as root previously failed with a "ERROR 2026 (HY000): SSL connection error" message. This update increases the Diffie-Hellman (DH) key length in MySQL from 512 to 1024 bits, which meets the DH key length requirements for these OpenSSL versions. As a result, SSL can be used as expected in the described scenario.
|
Story Points: | --- | |
| Clone Of: | ||||
| : | 1231960 1232207 1272091 (view as bug list) | Environment: | ||
| Last Closed: | 2015-10-22 09:31:06 UTC | Type: | Bug | |
| Regression: | --- | Mount Type: | --- | |
| Documentation: | --- | CRM: | ||
| Verified Versions: | Category: | --- | ||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | ||
| Cloudforms Team: | --- | Target Upstream Version: | ||
| Embargoed: | ||||
| Bug Depends On: | ||||
| Bug Blocks: | 1232207, 1272091 | |||
|
Description
dukrat
2015-06-05 15:36:25 UTC
MySQL server hardcodes 512 bit DH parameters which is severally insecure. See CVE-2015-4000 aka LOGJAM vulnerability. It needs to be fixed to use at least 1024 bit parameters or better. You should be able to workaround the issue via the --ssl-cipher option. Set it to something like 'DEFAULT:!EDH:!DHE' to disable the DH key exchange method. Note that the code hardcoding the parameters is in: vio/viosslfactories.c - function new_VioSSLFd() /* DH stuff */ dh=get_dh512(); SSL_CTX_set_tmp_dh(ssl_fd->ssl_context, dh); DH_free(dh); These should be at least 1024 bit DH parameters or even better 2048 bits. This does not seem to be fixed in MySQL or MariaDB upstream. There is Red Hat / Fedora specific patch to update to 1024, see e.g.: http://pkgs.fedoraproject.org/cgit/community-mysql.git/tree/community-mysql-dh1024.patch https://git.centos.org/blob/rpms!mariadb.git/37edda9/SOURCES!mariadb-dh1024.patch MySQL and Percona Server bug reports: http://bugs.mysql.com/bug.php?id=77275 https://bugs.launchpad.net/percona-server/+bug/1462856 This issue was already fixed in MariaDB 10.0.18, but the fix does not seem to be applied to 5.5 yet. https://mariadb.atlassian.net/browse/MDEV-7695 https://github.com/MariaDB/server/commit/7e7dd8e https://mariadb.com/kb/en/mariadb/mariadb-10018-changelog/ As noted in comment 2, a work around is to disable DH cipher suites on server or client side using --ssl-cipher option. This option can be specified on the command line, or in my.cnf configuration file. Server side configuration in /etc/my.cnf may look as: [mysqld] ssl-cipher=DEFAULT:!DH Client side configuration in /etc/my.cnf or ~/.my.cnf may look as: [mysql] ssl-cipher=DEFAULT:!DH Fixed also in MySQL development version 5.7 in 5.7.6: https://github.com/mysql/mysql-server/commit/866b988a76e8e7e217017a7883a52a12ec5024b9 http://dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-6.html This fix updates DH params to 2048bits rather than 1024bits. MariaDB 5.5 in software collections seems to be susceptible to the same issue, just FYI. MariaDB 5.5 in Software Collections already includes patch that makes it use 1024bit DH parameters, so it should not be affected. I just quickly tested with: mariadb55-mariadb-5.5.41-12.el6.x86_64 openssl-1.0.1e-30.el6_6.9.x86_64 Connections using DH cipher worked fine. Please provide versions you're using. Note that mysql packages update addressing this issue was already released: https://rhn.redhat.com/errata/RHBA-2015-1129.html |