Oracle MySQL bis 5.6.5 Password Authentication sql/password.c memcmp schwache Authentisierung

CVSS Meta Temp ScoreAktueller Exploitpreis (≈)CTI Interest Score
5.1$0-$5k0.00

In Oracle MySQL (Database Software) wurde eine Schwachstelle gefunden. Sie wurde als kritisch eingestuft. Dabei geht es um die Funktion memcmp der Datei sql/password.c der Komponente Password Authentication. Durch die Manipulation mit einer unbekannten Eingabe kann eine schwache Authentisierung-Schwachstelle ausgenutzt werden. CWE definiert das Problem als CWE-287. Auswirken tut sich dies auf Vertraulichkeit, Integrität und Verfügbarkeit. Die Zusammenfassung von CVE lautet:

sql/password.c in Oracle MySQL 5.1.x before 5.1.63, 5.5.x before 5.5.24, and 5.6.x before 5.6.6, and MariaDB 5.1.x before 5.1.62, 5.2.x before 5.2.12, 5.3.x before 5.3.6, and 5.5.x before 5.5.23, when running in certain environments with certain implementations of the memcmp function, allows remote attackers to bypass authentication by repeatedly authenticating with the same incorrect password, which eventually causes a token comparison to succeed due to an improperly-checked return value.

Die Entdeckung des Problems geschah am 09.06.2012. Die Schwachstelle wurde am 09.06.2012 durch Sergei Golubchik von MariaDB in Form eines bestätigten Mailinglist Posts (oss-sec mailing list) öffentlich gemacht. Das Advisory findet sich auf seclists.org. Die Veröffentlichung passierte hierbei ohne Koordination mit Oracle. Die Verwundbarkeit wird seit dem 04.04.2012 als CVE-2012-2122 geführt. Die Schwachstelle ist relativ beliebt, was unter anderem auf ihre geringe Komplexität zurückzuführen ist. Der Angriff kann über das Netzwerk angegangen werden. Um eine Ausnutzung durchzusetzen, muss keine spezifische Authentisierung umgesetzt werden. Es sind technische Details sowie ein öffentlicher Exploit zur Schwachstelle bekannt. Die Beschaffenheit der Schwachstelle lässt vermuten, dass ein Exploit momentan zu etwa USD $0-$5k gehandelt werden wird (Preisberechnung vom 30.07.2019). Die Ausprägung dieser Schwachstelle führt zu einem gewissen historischen Interesse an ihr. Das Advisory weist darauf hin:

This flaw was rooted in an assumption that the memcmp() function would always return a value within the range -127 to 127 (signed character). On some platforms and with certain optimizations enabled, this routine can return values outside of this range, eventually causing the code that compares a hashed password to sometimes return true even when the wrong password is specified. Since the authentication protocol generates a different hash each time this comparison is done, there is a 1 in 256 chance that ANY password would be accepted for authentication.

Ein öffentlicher Exploit wurde durch HD Moore (HDM) in Shell-Skript realisiert und 2 Tage nach dem Advisory veröffentlicht. Der Exploit wird unter community.rapid7.com bereitgestellt. Er wird als hoch funktional gehandelt. Der Preis als 0-Day war auf dem Schwarzmarkt etwa $25k-$100k. Für den Vulnerability Scanner Nessus wurde am 13.06.2014 ein Plugin mit der ID 74673 (openSUSE Security Update : mysql-cluster (openSUSE-SU-2012:0860-1)) herausgegeben, womit die Existenz der Schwachstelle geprüft werden kann. Es wird der Family SuSE Local Security Checks zugeordnet und im Kontext l ausgeführt. Der kommerzielle Vulnerability Scanner Qualys bietet das Plugin 165533 (SUSE Enterprise Linux Security Update for MySQL (SUSE-SU-2012:0984-1)) zur Prüfung der Schwachstelle an. Die Existenz der Schwachstelle kann wie folgt geprüft werden: @for i in `seq 1 1000`; do mysql -u root --password=bad -h 127.0.0.1 2>/dev/null; done@

Die Schwachstelle lässt sich durch das Einspielen eines Patches lösen. Dieser kann von bazaar.launchpad.net bezogen werden. Die Schwachstelle kann zusätzlich durch das Filtern von tcp/3306 (mysql) mittels Firewalling mitigiert werden. Als bestmögliche Massnahme wird das Installieren des jeweiligen Patches empfohlen. Das Erscheinen einer Gegenmassnahme geschah vor und nicht erst nach der Veröffentlichung der Schwachstelle. Oracle hat damit vorgängig gehandelt. Nach dem Update prüfen die Datenbankserver den von memcmp() zurückgelieferten Wert zusätzlich durch eine Funktion test().

Unter anderem wird der Fehler auch in den Datenbanken von Tenable (74673) und Exploit-DB (19092) dokumentiert. Die Schwachstellen 5779 und 61672 sind ähnlich.

Produktinfo

Typ

Hersteller

Name

Version

Lizenz

CPE 2.3info

CPE 2.2info

Screenshot

Video

CVSSv4info

VulDB CVSS-B Score: 🔍
VulDB CVSS-BT Score: 🔍
VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

CVSSv3info

VulDB Meta Base Score: 5.6
VulDB Meta Temp Score: 5.1

VulDB Base Score: 5.6
VulDB Temp Score: 5.1
VulDB Vector: 🔍
VulDB Zuverlässigkeit: 🔍

CVSSv2info

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VektorKomplexitätAuthentisierungVertraulichkeitIntegritätVerfügbarkeit
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten
freischaltenfreischaltenfreischaltenfreischaltenfreischaltenfreischalten

VulDB Base Score: 🔍
VulDB Temp Score: 🔍
VulDB Zuverlässigkeit: 🔍

NVD Base Score: 🔍

Exploitinginfo

Klasse: Schwache Authentisierung
CWE: CWE-287
ATT&CK: Unbekannt

Lokal: Nein
Remote: Ja

Verfügbarkeit: 🔍
Zugang: öffentlich
Status: Hoch funktional
Autor: HD Moore (HDM)
Programmiersprache: 🔍
Download: 🔍

EPSS Score: 🔍
EPSS Percentile: 🔍

Preisentwicklung: 🔍
Aktuelle Preisschätzung: 🔍

0-Dayfreischaltenfreischaltenfreischaltenfreischalten
Heutefreischaltenfreischaltenfreischaltenfreischalten

Nessus ID: 74673
Nessus Name: openSUSE Security Update : mysql-cluster (openSUSE-SU-2012:0860-1)
Nessus Datei: 🔍
Nessus Risiko: 🔍
Nessus Family: 🔍
Nessus Context: 🔍
Nessus Port: 🔍

OpenVAS ID: 71475
OpenVAS Name: Debian Security Advisory DSA 2496-1 (mysql-5.1)
OpenVAS Datei: 🔍
OpenVAS Family: 🔍

Qualys ID: 🔍
Qualys Name: 🔍

MetaSploit ID: mysql_authbypass_hashdump.rb
MetaSploit Name: MySQL Authentication Bypass Password Dump
MetaSploit Datei: 🔍

Exploit-DB: 🔍

Threat Intelligenceinfo

Interesse: 🔍
Aktive Akteure: 🔍
Aktive APT Gruppen: 🔍

Gegenmassnahmeninfo

Empfehlung: Patch
Status: 🔍

0-Day Time: 🔍
Exploit Delay Time: 🔍

Patch: bazaar.launchpad.net
Firewalling: 🔍
McAfee IPS: 🔍
McAfee IPS Version: 🔍

ISS Proventia IPS: 🔍
Fortigate IPS: 🔍

Timelineinfo

04.04.2012 🔍
07.05.2012 +33 Tage 🔍
09.06.2012 +33 Tage 🔍
09.06.2012 +0 Tage 🔍
11.06.2012 +1 Tage 🔍
11.06.2012 +0 Tage 🔍
11.06.2012 +0 Tage 🔍
11.06.2012 +0 Tage 🔍
12.06.2012 +0 Tage 🔍
13.06.2012 +1 Tage 🔍
26.06.2012 +13 Tage 🔍
13.06.2014 +717 Tage 🔍
30.07.2019 +1873 Tage 🔍

Quelleninfo

Hersteller: oracle.com

Advisory: seclists.org
Person: Sergei Golubchik
Firma: MariaDB
Status: Bestätigt
Bestätigung: 🔍

CVE: CVE-2012-2122 (🔍)
OVAL: 🔍

SecurityTracker: 1027143
Vulnerability Center: 35326 - Oracle MySQL Complied With Linux Glibc Sse-Optimized memcmp Option Allows Authentication Bypass, Medium
SecurityFocus: 53911 - Oracle MySQL CVE-2012-2122 User Login Security Bypass Vulnerability
Secunia: 49417
OSVDB: 82804 - CVE-2012-2122 - Oracle - Multiple Products - Security Bypass Issue

scip Labs: https://www.scip.ch/?labs.20161013
Siehe auch: 🔍

Eintraginfo

Erstellt: 11.06.2012 16:43
Aktualisierung: 30.07.2019 20:21
Anpassungen: 11.06.2012 16:43 (108), 30.07.2019 20:21 (10)
Komplett: 🔍

Diskussion

Bisher keine Kommentare. Sprachen: de + en.

Bitte loggen Sie sich ein, um kommentieren zu können.

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!