CVE-2016-2047: Medium severity mariadb vulnerability
A vulnerability was found in a way mysql verifies certificates. Sslverifyservercert() function parses the output of X509NAMEoneline() to get the value of the /CN=... field. But if this string — "/CN=" — is present as a part of the value of some other field that might cause the output to be parsed incorrectly.
MariaDB upstream bug report:
https://mariadb.atlassian.net/browse/MDEV-9212
MariaDB upstream fix:
https://github.com/MariaDB/server/commit/f0d774d48416bb06063184380b684380ca005a41
External reference:
http://www.openwall.com/lists/oss-security/2016/01/26/3
Other sources
The sslverifyservercert function in sql-common/client.c in MariaDB before 5.5.47, 10.0.x before 10.0.23, and 10.1.x before 10.1.10; Oracle MySQL 5.5.48 and earlier, 5.6.29 and earlier, and 5.7.11 and earlier; and Percona Server do not properly verify that the server hostname matches a domain name in the subject's Common Name (CN) or subjectAltName field of the X.509 certificate, which allows man-in-the-middle attackers to spoof SSL servers via a "/CN=" string in a field in a certificate, as demonstrated by "/OU=/CN=bar.com/CN=foo.com."
— MITRE
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2016-2047?
CVE-2016-2047 is classified as a medium severity vulnerability due to improper hostname verification.
How do I fix CVE-2016-2047?
To fix CVE-2016-2047, update your MariaDB, Oracle MySQL, or Percona Server to the recommended versions or later.
Which software is affected by CVE-2016-2047?
CVE-2016-2047 affects MariaDB, Oracle MySQL, and Percona Server versions before specific updates.
Are there any workarounds for CVE-2016-2047?
There are no specific workarounds for CVE-2016-2047; upgrading to a secure version is the recommended solution.
What can attack vectors exploit CVE-2016-2047?
CVE-2016-2047 could potentially be exploited by man-in-the-middle attacks due to the improper verification of server certificates.