CVE-2012-5615
NoneCVSS
—
EPSS
14.8%
Published
Dec 3, 2012
CISA due date
—
Cloudanix analysis
Someone outside the organization can learn which database login names are real simply by watching how the system answers login attempts, making it easier for them to guess passwords and get in.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Trivial
- Impact
- Data Exposure
- Component
- Network Service
- Class
- Information Disclosure
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
The vulnerability causes the MySQL/MariaDB server to produce distinguishable error messages and measurable response time differences during authentication attempts based on whether the supplied username exists in the user table.
Why it matters to the business
Attackers can discover valid database accounts without credentials, simplifying targeted credential attacks that may result in data theft, unauthorized modifications, or service disruption.
How an attack unfolds
An attacker connects to the exposed database port and issues repeated authentication requests using lists of candidate usernames, measuring both the exact error text returned and the elapsed time for each response to build a map of valid accounts before attempting password guessing against those accounts.
How to fix it
Upgrade affected MySQL installations to versions later than 5.5.38 and 5.6.19 and affected MariaDB installations to versions later than 5.5.28a, 5.3.11, 5.2.13 and 5.1.66; alternatively restrict network access to the database port and enforce account lockout policies.
How to confirm the fix worked
Perform controlled authentication probes using both known-valid and known-invalid usernames from an external host and confirm that all responses exhibit identical timing and identical error text regardless of username existence.
Typical attack path
- Connect to the MySQL/MariaDB listener from a remote host
- Submit authentication packets containing guessed usernames
- Record response latency and error string for each attempt
- Filter results to retain only usernames that produce the distinct valid-user signature
- Launch password brute-force or dictionary attacks against the confirmed accounts
How to detect it
Examine database error logs and network flow data for clusters of authentication failures that target many different usernames from the same source IP within a short time window; correlate with any subsequent successful logins from the same source.
- Access denied for user
- repeated authentication failures from single remote IP
- high volume of distinct usernames in auth logs
What your security team should do
- Block or tightly restrict inbound connections to database ports from untrusted networks
- Implement rate limiting and account lockout on database authentication
- Deploy monitoring for high volumes of failed logins originating from single sources
- Schedule upgrades to current supported releases of MySQL or MariaDB
The record
Oracle MySQL 5.5.38 and earlier, 5.6.19 and earlier, and MariaDB 5.5.28a, 5.3.11, 5.2.13, 5.1.66, and possibly other versions, generates different error messages with different time delays depending on whether a user name exists, which allows remote attackers to enumerate valid usernames.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:7 | mysql-5.5 | 0 | 5.5.40-0+wheezy1 |
| Red Hat:enterprise_linux:5::client | mysql55-mysql | 0 | 0:5.5.40-2.el5 |
| Red Hat:enterprise_linux:5::client | mysql55-mysql-bench | 0 | 0:5.5.40-2.el5 |
| Red Hat:enterprise_linux:5::client | mysql55-mysql-debuginfo | 0 | 0:5.5.40-2.el5 |
| Red Hat:enterprise_linux:5::client | mysql55-mysql-devel | 0 | 0:5.5.40-2.el5 |
| Red Hat:enterprise_linux:5::client | mysql55-mysql-libs | 0 | 0:5.5.40-2.el5 |
| Red Hat:enterprise_linux:5::client | mysql55-mysql-server | 0 | 0:5.5.40-2.el5 |
| Red Hat:enterprise_linux:5::client | mysql55-mysql-test | 0 | 0:5.5.40-2.el5 |
| Red Hat:enterprise_linux:5::client_workstation | mysql55-mysql | 0 | 0:5.5.40-2.el5 |
| Red Hat:enterprise_linux:5::client_workstation | mysql55-mysql-bench | 0 | 0:5.5.40-2.el5 |
| Red Hat:enterprise_linux:5::client_workstation | mysql55-mysql-debuginfo | 0 | 0:5.5.40-2.el5 |
| Red Hat:enterprise_linux:5::client_workstation | mysql55-mysql-devel | 0 | 0:5.5.40-2.el5 |
| Red Hat:enterprise_linux:5::client_workstation | mysql55-mysql-libs | 0 | 0:5.5.40-2.el5 |
| Red Hat:enterprise_linux:5::client_workstation | mysql55-mysql-server | 0 | 0:5.5.40-2.el5 |
| Red Hat:enterprise_linux:5::client_workstation | mysql55-mysql-test | 0 | 0:5.5.40-2.el5 |
| Red Hat:enterprise_linux:5::server | mysql55-mysql | 0 | 0:5.5.40-2.el5 |
| Red Hat:enterprise_linux:5::server | mysql55-mysql-bench | 0 | 0:5.5.40-2.el5 |
| Red Hat:enterprise_linux:5::server | mysql55-mysql-debuginfo | 0 | 0:5.5.40-2.el5 |
| Red Hat:enterprise_linux:5::server | mysql55-mysql-devel | 0 | 0:5.5.40-2.el5 |
| Red Hat:enterprise_linux:5::server | mysql55-mysql-libs | 0 | 0:5.5.40-2.el5 |
| Red Hat:enterprise_linux:5::server | mysql55-mysql-server | 0 | 0:5.5.40-2.el5 |
| Red Hat:enterprise_linux:5::server | mysql55-mysql-test | 0 | 0:5.5.40-2.el5 |
| Red Hat:enterprise_linux:7::client | mariadb | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::client | mariadb-bench | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::client | mariadb-debuginfo | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::client | mariadb-devel | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::client | mariadb-embedded | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::client | mariadb-embedded-devel | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::client | mariadb-libs | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::client | mariadb-server | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::client | mariadb-test | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::computenode | mariadb | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::computenode | mariadb-bench | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::computenode | mariadb-debuginfo | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::computenode | mariadb-devel | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::computenode | mariadb-embedded | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::computenode | mariadb-embedded-devel | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::computenode | mariadb-libs | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::computenode | mariadb-server | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::computenode | mariadb-test | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::server | mariadb | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::server | mariadb-bench | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::server | mariadb-debuginfo | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::server | mariadb-devel | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::server | mariadb-embedded | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::server | mariadb-embedded-devel | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::server | mariadb-libs | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::server | mariadb-server | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::server | mariadb-test | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::workstation | mariadb | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::workstation | mariadb-bench | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::workstation | mariadb-debuginfo | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::workstation | mariadb-devel | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::workstation | mariadb-embedded | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::workstation | mariadb-embedded-devel | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::workstation | mariadb-libs | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::workstation | mariadb-server | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:enterprise_linux:7::workstation | mariadb-test | 0 | 1:5.5.40-1.el7_0 |
| Red Hat:openstack:5::el6 | mariadb-galera | 0 | 0:5.5.40-2.el6ost |
| Red Hat:openstack:5::el6 | mariadb-galera-common | 0 | 0:5.5.40-2.el6ost |
| Red Hat:openstack:5::el6 | mariadb-galera-debuginfo | 0 | 0:5.5.40-2.el6ost |
| Red Hat:openstack:5::el6 | mariadb-galera-server | 0 | 0:5.5.40-2.el6ost |
| Red Hat:openstack:5::el7 | mariadb-galera | 0 | 1:5.5.40-2.el7ost |
| Red Hat:openstack:5::el7 | mariadb-galera-common | 0 | 1:5.5.40-2.el7ost |
| Red Hat:openstack:5::el7 | mariadb-galera-debuginfo | 0 | 1:5.5.40-2.el7ost |
| Red Hat:openstack:5::el7 | mariadb-galera-server | 0 | 1:5.5.40-2.el7ost |
| Red Hat:rhel_software_collections:1::el6 | mariadb55-mariadb | 0 | 0:5.5.40-10.el6 |
| Red Hat:rhel_software_collections:1::el6 | mariadb55-mariadb-bench | 0 | 0:5.5.40-10.el6 |
| Red Hat:rhel_software_collections:1::el6 | mariadb55-mariadb-debuginfo | 0 | 0:5.5.40-10.el6 |
| Red Hat:rhel_software_collections:1::el6 | mariadb55-mariadb-devel | 0 | 0:5.5.40-10.el6 |
| Red Hat:rhel_software_collections:1::el6 | mariadb55-mariadb-libs | 0 | 0:5.5.40-10.el6 |
| Red Hat:rhel_software_collections:1::el6 | mariadb55-mariadb-server | 0 | 0:5.5.40-10.el6 |
| Red Hat:rhel_software_collections:1::el6 | mariadb55-mariadb-test | 0 | 0:5.5.40-10.el6 |
| Red Hat:rhel_software_collections:1::el6 | mysql55-mysql | 0 | 0:5.5.40-1.el6 |
| Red Hat:rhel_software_collections:1::el6 | mysql55-mysql-bench | 0 | 0:5.5.40-1.el6 |
| Red Hat:rhel_software_collections:1::el6 | mysql55-mysql-debuginfo | 0 | 0:5.5.40-1.el6 |
| Red Hat:rhel_software_collections:1::el6 | mysql55-mysql-devel | 0 | 0:5.5.40-1.el6 |
| Red Hat:rhel_software_collections:1::el6 | mysql55-mysql-libs | 0 | 0:5.5.40-1.el6 |
| Red Hat:rhel_software_collections:1::el6 | mysql55-mysql-server | 0 | 0:5.5.40-1.el6 |
| Red Hat:rhel_software_collections:1::el6 | mysql55-mysql-test | 0 | 0:5.5.40-1.el6 |
| Red Hat:rhel_software_collections:1::el7 | mariadb55-mariadb | 0 | 0:5.5.40-10.el7 |
| Red Hat:rhel_software_collections:1::el7 | mariadb55-mariadb-bench | 0 | 0:5.5.40-10.el7 |
| Red Hat:rhel_software_collections:1::el7 | mariadb55-mariadb-debuginfo | 0 | 0:5.5.40-10.el7 |
| Red Hat:rhel_software_collections:1::el7 | mariadb55-mariadb-devel | 0 | 0:5.5.40-10.el7 |
| Red Hat:rhel_software_collections:1::el7 | mariadb55-mariadb-libs | 0 | 0:5.5.40-10.el7 |
| Red Hat:rhel_software_collections:1::el7 | mariadb55-mariadb-server | 0 | 0:5.5.40-10.el7 |
| Red Hat:rhel_software_collections:1::el7 | mariadb55-mariadb-test | 0 | 0:5.5.40-10.el7 |
| Red Hat:rhel_software_collections:1::el7 | mysql55-mysql | 0 | 0:5.5.40-1.el7 |
| Red Hat:rhel_software_collections:1::el7 | mysql55-mysql-bench | 0 | 0:5.5.40-1.el7 |
| Red Hat:rhel_software_collections:1::el7 | mysql55-mysql-debuginfo | 0 | 0:5.5.40-1.el7 |
| Red Hat:rhel_software_collections:1::el7 | mysql55-mysql-devel | 0 | 0:5.5.40-1.el7 |
| Red Hat:rhel_software_collections:1::el7 | mysql55-mysql-libs | 0 | 0:5.5.40-1.el7 |
| Red Hat:rhel_software_collections:1::el7 | mysql55-mysql-server | 0 | 0:5.5.40-1.el7 |
| Red Hat:rhel_software_collections:1::el7 | mysql55-mysql-test | 0 | 0:5.5.40-1.el7 |
| SUSE:Linux Enterprise Desktop 12 | mariadb | 0 | 10.0.16-15.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | mariadb104 | 0 | 10.4.30-150100.3.5.10 |
| SUSE:Linux Enterprise High Performance Computing 15 SP1-LTSS | python-mysqlclient | 0 | 1.4.6-150100.3.3.7 |
| SUSE:Linux Enterprise Server 12 | mariadb | 0 | 10.0.16-15.1 |
| SUSE:Linux Enterprise Server 12 SP5 | lz4 | 0 | 1.8.0-3.5.2 |
| SUSE:Linux Enterprise Server 12 SP5 | mariadb-connector-c | 0 | 3.1.22-2.35.1 |
| SUSE:Linux Enterprise Server 12 SP5 | mariadb104 | 0 | 10.4.30-8.5.46 |
| SUSE:Linux Enterprise Server 12 SP5 | python-mysqlclient | 0 | 1.3.14-8.9.2 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | mariadb104 | 0 | 10.4.30-150100.3.5.10 |
| SUSE:Linux Enterprise Server 15 SP1-LTSS | python-mysqlclient | 0 | 1.4.6-150100.3.3.7 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | mariadb | 0 | 10.0.16-15.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | lz4 | 0 | 1.8.0-3.5.2 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | mariadb-connector-c | 0 | 3.1.22-2.35.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | mariadb104 | 0 | 10.4.30-8.5.46 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP5 | python-mysqlclient | 0 | 1.3.14-8.9.2 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | mariadb104 | 0 | 10.4.30-150100.3.5.10 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP1 | python-mysqlclient | 0 | 1.4.6-150100.3.3.7 |
| SUSE:Linux Enterprise Software Development Kit 12 | mariadb | 0 | 10.0.16-15.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | lz4 | 0 | 1.8.0-3.5.2 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | mariadb-connector-c | 0 | 3.1.22-2.35.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | mariadb104 | 0 | 10.4.30-8.5.46 |
| SUSE:Linux Enterprise Software Development Kit 12 SP5 | python-mysqlclient | 0 | 1.3.14-8.9.2 |
| SUSE:Linux Enterprise Workstation Extension 12 | mariadb | 0 | 10.0.16-15.1 |
| Ubuntu:14.04:LTS | mariadb-5.5 | 0 | 5.5.36-1 |
| Ubuntu:14.04:LTS | mysql-5.5 | 0 | 5.5.40-0ubuntu0.14.04.1 |
| Ubuntu:14.04:LTS | mysql-5.6 | 0 | 5.6.27-0ubuntu0.14.04.1 |
| openSUSE:Tumbleweed | mariadb | 0 | 10.0.22-3.8 |
Related vulnerabilities
- CVE-2017-3302 Crash in libmysqlclient.so in Oracle MySQL before 5.6.21 and 5.7.x before 5.7.5 and… Also affects mysql-5.5
- CVE-2016-5584 Unspecified vulnerability in Oracle MySQL 5.5.52 and earlier, 5.6.33 and earlier, and… Also affects mysql-5.5
- CVE-2016-6662 Oracle MySQL through 5.5.52, 5.6.x through 5.6.33, and 5.7.x through 5.7.15; MariaDB… Also affects mysql-5.5
- CVE-2016-3521 Unspecified vulnerability in Oracle MySQL 5.5.49 and earlier, 5.6.30 and earlier, and… Also affects mysql-5.5
- CVE-2015-4870 Unspecified vulnerability in Oracle MySQL Server 5.5.45 and earlier, and 5.6.26 and… Also affects mysql-5.5
- CVE-2015-2582 Unspecified vulnerability in Oracle MySQL Server 5.5.43 and earlier and 5.6.24 and… Also affects mysql-5.5
- CVE-2015-0501 Unspecified vulnerability in Oracle MySQL Server 5.5.42 and earlier, and 5.6.23 and… Also affects mysql-5.5
- CVE-2015-0433 Unspecified vulnerability in Oracle MySQL Server 5.5.41 and earlier, and 5.6.22 and… Also affects mysql-5.5