[Generic/Kerberos] Schwachstelle in MIT Kerberos 5
(2011-04-14 08:14:30.571781+00)
Quelle:
http://archive.cert.uni-stuttgart.de/bugtraq/2011/04/msg00136.html
Eine Schwachstelle im MIT krb 5 administration daemon (kadmin
) kann von einem Angreifer dazu ausgenutzt werden, den Daemon in einen unbenutzbaren Zustand zu versetzen oder beliebigen Programmcode auf dem beherbergenden System auszuführen. Das MIT stellt einen Patch zur Behebung des Problems bereit.
Inhalt
- Zusammenfassung
- Betroffene Systeme
- Nicht betroffene Systeme
- Plattform
- Einfallstor
- Angriffsvoraussetzung
- Angriffsvektorklasse
- Auswirkung
- Typ der Verwundbarkeit
- Gefahrenpotential
- Beschreibung
- Workaround
- Gegenmaßnahmen
- Vulnerability ID
- Exploit Status
- Weitere Information zu diesem Thema
Zusammenfassung
- CVE-2011-0285:
Betroffen: krb5-1.7.x bis einschließlich krb5-1.9 Nicht betroffen: Versionen vor krb5-1.7.x Plattform: alle (generic) Einfallstor: Password Change Request Angriffsvoraussetzung: Netzwerk Angriffsvektorklasse: remote Auswirkung: system compromise Typ: Speicherverletzung Gefahrenpotential: sehr hoch Workaround: nein Gegenmaßnahmen: Patch, neue Version, sobald verfügbar Vulnerability ID: CVE-2011-0285
Betroffene Systeme
- MIT Kerberos 5 der Versionen krb5-1.9.x
- MIT Kerberos 5 der Versionen krb5-1.8.x
- MIT Kerberos 5 der Versionen krb5-1.7.x
Nicht betroffene Systeme
- MIT Kerberos 5 der Versionen vor krb5-1.7.x, diese enthalten den verwundbaren Code nicht
Plattform
Alle Plattformen, für die MIT Kerberos 5 angeboten wird:- Unixoide Betriebssysteme
- Microsoft Windows
- Macintosh OS X
Einfallstor
Angriffsvoraussetzung
- Zugriff auf ein Netzwerk, über das Nachrichten an den Kerberos-Server gesendet werden können
(network)
Angriffsvektorklasse
- über eine Netzwerkverbindung
(remote)
Auswirkung
- Versetzen des Kerberos-Servers in einen unbenutzbaren Zustand, bzw. Absturz des Servers
(Denial of Service) - Ausführung beliebigen Programmcodes auf dem beherbergenden System mit administrativen Privilegien
(system compromise)
Typ der Verwundbarkeit
- Speicherverletzung
(memory corruption)
Gefahrenpotential
- sehr hoch
(Hinweise zur Einstufung des Gefahrenpotentials.)
Beschreibung
Eine Schwachstelle in der Funktion dispatch()
der Kerberos 5 Implementierung des MIT kann von einem Angreifer dazu ausgenutzt werden, den Kerberos-Server in einen unbenutzbaren Zustand zu versetzen oder zum Absturz zu bringen, bzw. beliebigen Programmcode auf dem beherbergenden System ausführen. Der Code wird dabei mit den Privilegien des entsprechenden Prozesses ausgeführt. Dies sind im Falle der Kerberos-Suite im Allgemeinen administrative Privilegien, weshalb die erfolgreiche Ausnutzung dieser Schwachstelle zur Kompromittierung des beherbergenden Systems führt.
Die Schwachstelle tritt bei der Verarbeitung von Nachrichten zur Änderung des Benutzerpasswortes auf. Um die Schwachstelle erfolgreich ausnutzen zu können, ist es lediglich erforderlich, Zugriff auf ein Netzwerk zu besitzen, über das solche Nachrichten an einen verwundbaren Server gesendet werden können.
Workaround
- Es ist kein Workaround zur Verhinderung der Ausnutzung der Schwachstelle bekannt.
Gegenmaßnahmen
- Installation entsprechend aktualisierter MIT Kerberos 5 Releases, sobald verfügbar
- Installation entsprechend aktualisierter Pakete der verschiedenen Betriebssystemhersteller, bzw. Distributoren, sobald verfügbar
- Installation eines Patches für krb5-1.9 (nicht für andere Versionen anwendbar):
diff --git a/src/kadmin/server/schpw.c b/src/kadmin/server/schpw.c index 1124445..0056885 100644 - --- a/src/kadmin/server/schpw.c +++ b/src/kadmin/server/schpw.c @@ -52,6 +52,7 @@ process_chpw_request(context, server_handle, realm, keytab, ret = 0; rep->length = 0; + rep->data = NULL; auth_context = NULL; changepw = NULL; @@ -76,8 +77,13 @@ process_chpw_request(context, server_handle, realm, keytab, plen = (*ptr++ & 0xff); plen = (plen<<8) | (*ptr++ & 0xff); - - if (plen != req->length) - - return(KRB5KRB_AP_ERR_MODIFIED); + if (plen != req->length) { + ret = KRB5KRB_AP_ERR_MODIFIED; + numresult = KRB5_KPASSWD_MALFORMED; + strlcpy(strresult, "Request length was inconsistent", + sizeof(strresult)); + goto chpwfail; + } /* verify version number */ @@ -531,6 +537,10 @@ cleanup: if (local_kaddrs != NULL) krb5_free_addresses(server_handle->context, local_kaddrs); + if ((*response)->data == NULL) { + free(*response); + *response = NULL; + } krb5_kt_close(server_handle->context, kt); return ret;
Vulnerability ID
Weitere Information zu diesem Thema
Exploit Status
- Code zur Demonstration der Schwachstelle ist verfügbar.
(proof of concept
Hinweis
Die in diesem Text enthaltene Information wurde für die Mitglieder der Universität Stuttgart recherchiert und zusammengestellt. Die Universität Stuttgart übernimmt keinerlei Haftung für die Inhalte. Dieser Artikel darf ausschließlich in unveränderter Form und nur zusammen mit diesem Hinweis sowie dem folgenden Copyrightverweis veröffentlicht werden. Eine Veröffentlichung unter diesen Bedingungen an anderer Stelle ist ausdrücklich gestattet.
Copyright © 2022 RUS-CERT, Universität Stuttgart, https://cert.uni-stuttgart.de/
https://cert.uni-stuttgart.de/ticker/article.php?mid=1671