libuser-Schwachstellen (CVE-2015-3245 und CVE-2015-3246)
Red Hat Product Security wurde auf zwei Schwachstellen im userhelper
Dienstprogramm (Teil des usermode
Pakets) und in der libuser
Bibliothek hingewiesen. Authentifizierte, lokale Benutzer mit Shell-Zugriff könnten diese Schwachstellen kombinieren, um eine lokale Privilegieneskalation zum root-Benutzer zu erreichen. Diese Schwachstellen werden unter CVE-2015-3245 und CVE-2015-3246 geführt. Die Auswirkungen dieser kombinierten Schwachstellen wurden als Wichtig klassifiziert. Red Hat bedankt sich bei Qualys für die Meldung dieser Schwachstellen.
Hintergrundinformationen
Die libuser
Bibliothek implementiert eine standardisierte Schnittstelle zum Bearbeiten und Verwalten von Benutzer- und Gruppenkonten. Das userhelper
Programm, das im usermode
Paket enthalten ist, stellt eine einfache, nicht interaktive Schnittstelle bereit zum Ändern des Passworts, des GECOS-Felds und der Shell eines Benutzers.
Auswirkungen
Die folgenden zwei Abschnitte beschreiben die beiden zusammengehörigen Schwachstellen.
Race Condition bei Aktualisierung der Passwortdatei (CVE-2015-3246, Wichtig)
Es wurde eine Schwachstelle entdeckt in der Art und Weise, wie die libuser
Bibliothek die /etc/passwd
Datei handhabt. Herkömmliche Programme wie passwd
, chfn
und chsh
arbeiten mit einer temporären Kopie von /etc/passwd
und verwenden anschließend die rename()
Funktion, um die temporäre Kopie umzubenennen. Im Gegensatz dazu bearbeitet libuser
die /etc/passwd
Datei direkt. Falls während der Bearbeitung ein Fehler auftritt, hinterlässt libuser
die /etc/passwd
Datei möglicherweise in einem inkonsistenten Zustand.
Dieses Verhalten ermöglicht einen lokalen Denial-of-Service-Angriff. Darüber hinaus kann es in Kombination mit einer zweiten Schwachstelle (CVE-2015-3245, nachfolgend beschrieben) zur Privilegieneskalation zum root-Benutzer führen.
In der nachstehenden Tabelle finden Sie Links zu Sicherheits-Advisorys, die dieses Problem beheben.
Unvollständige Gültigkeitsprüfung für Inhalte des GECOS-Felds (CVE-2015-3245, Moderat)
Es wurde festgestellt, dass die chfn
Funktion des userhelper
Dienstprogramms Zeilenumbruchzeichen nicht richtig filterte. Die chfn
Funktion, die vom userhelper
Dienstprogramm implementiert wird, überprüft, dass die auf der Befehlszeile angegebenen Felder gültig sind (d. h. keine unzulässigen Zeichen enthalten). Zu diesen unzulässigen Zeichen (:,=
) gehört leider nicht das \n
Zeichen, was es lokalen Angreifern ermöglicht, Zeilenumbruchzeichen in die /etc/passwd
Datei einzuschleusen und diese Datei auf unvorhergesehene Weise zu ändern.
Ein lokaler Angreifer konnte diese Schwachstelle ausnutzen, um die /etc/passwd
Datei zu verfälschen, was zu einem Denial-of-Service-Angriff auf dem System führen konnte.
Hinweis: Dieses Problem, das ursprünglich dem usermode
Paket zugeordnet wurde, wird durch eine Aktualisierung von libuser
behoben, da libuser
zur Behebung der CVE-2015-3246 Schwachstelle ohnehin geändert werden musste.
Sicherheits-Advisorys
Alle Versionen der libuser
Bibliothek, die in Red Hat Enterprise Linux 6 und 7 enthalten sind, sind von diesen Schwachstellen betroffen. In der folgenden Tabelle finden Sie Links für die jeweiligen Sicherheits-Advisorys, die dieses Problem beheben:
Produkt | Advisory |
---|---|
Red Hat Enterprise Linux 6 | RHSA-2015:1482 |
Red Hat Enterprise Linux 7 | RHSA-2015:1483 |
Dieses Problem betrifft auch Red Hat Enterprise Linux 5, was sich nun in der Produktionsphase 3 des Support- und Wartungslebenszyklus befindet, weshalb derzeit nicht geplant ist, es in zukünftigen Aktualisierungen von Red Hat Enterprise Linux 5 zu beheben. Weitere Informationen finden Sie im Red Hat Enterprise Linux Lebenszyklus.
Atomic Host & Container
Alle offiziellen, von Red Hat veröffentlichten Container-Images enthalten die betroffene Version der libuser
Bibliothek. Benutzer können die im Container integrierte yum-Funktionalität verwenden, um auf die korrigierten Versionen zu aktualisieren (siehe „Lösung“ unten). Dadurch wird die Schwachstelle behoben. Aktualisierte Builds dieser Container, in denen die Aktualisierung bereits enthalten ist, werden in Kürze veröffentlicht.
Atomic Host enthält eine betroffene Version der libuser
Bibliothek. Sie können alle von Atomic gehosteten Container auf korrigierte Versionen dieser Pakete aktualisieren, indem Sie die integrierte yum-Funktionalität nutzen. Es ist nicht möglich, diese Schwachstellen auszunutzen, um Atomic Host aus einem Container heraus anzugreifen. Das nächste kumulative Update wird Fehlerbehebungen für Atomic Host beinhalten.
Cloud-Images und Appliances
Alle offiziellen, von Red Hat veröffentlichten Cloud- und Appliance-Images enthalten eine betroffene Version der libuser
Bibliothek. Benutzer können die im Container integrierte yum-Funktionalität verwenden, um auf die korrigierten Versionen zu aktualisieren (siehe „Lösung“ unten). Dadurch wird die Schwachstelle behoben. Aktualisierte Builds dieser Container, in denen die Aktualisierung bereits enthalten ist, werden in Kürze veröffentlicht.
Amazon Web Services
Red Hat Enterprise Linux Amazon Machine Instances enthalten eine betroffene Version der libuser
Bibliothek. Sie können Systeme auf korrigierte Versionen dieser Pakete aktualisieren, indem Sie die integrierte yum-Funktionalität nutzen (siehe „Lösung“ unten).
RHEV-H Images
Die Red Hat Enterprise Virtualization Hypervisor Appliance-Images enthalten eine betroffene Version der libuser
Bibliothek. Diese Images sollten nur zum Hosten von virtuellen Maschinen verwendet werden und sollten keine nicht vertrauenswürdigen, lokalen Benutzer haben.
Es ist nicht möglich, diese Schwachstellen auszunutzen, um RHEV-H Hosts aus einer virtuellen Maschine heraus anzugreifen. Eine zukünftige Aktualisierung des RHEV-H Images wird diese Schwachstelle beheben.
Lösung
Um eine mögliche Ausnutzung der Sicherheitslücke zu verhindern, installieren Sie die aktualisierten libuser
Pakete, die in den Advisorys in der Tabelle oben bereitgestellt werden.
Installieren Sie die Aktualisierungen mithilfe des yum-Paketmanagers wie folgt:
yum update
Führen Sie den folgenden Befehl aus, um nur die libuser
Pakete und deren Abhängigkeiten zu installieren:
yum update libuser
Vorbeugung
Aufgrund der Funktionsweise von libuser
können ausschließlich Benutzer, die bereits Benutzerkonten in /etc/passwd
haben, diese Schwachstellen ausnutzen, und der Benutzer muss beim Angriff das Passwort für das Benutzerkonto angeben. Diese Voraussetzungen bedeuten, dass ein Angriff über Benutzerkonten, die lediglich in LDAP (oder einer anderen NSS-Datenquelle) vorliegen, oder über Systemkonten ohne gültiges Passwort nicht möglich ist.
Auf Systemen, auf denen eine Aktualisierung von libuser
nicht möglich ist, können Systemadministratoren pam_warn
und pam_deny
Regeln zu den beiden Dateien /etc/pam.d/chfn
und /etc/pam.d/chsh
hinzufügen, um andere Benutzer als root daran zu hindern, die betroffenen Dienste zu verwenden. Mit den notwendigen Änderungen sollten diese Dateien Folgendes enthalten:
#%PAM-1.0
auth sufficient pam_rootok.so
auth required pam_warn.so
auth required pam_deny.so
auth include system-auth
account include system-auth
password include system-auth
session include system-auth
Nach diesen Änderungen werden Versuche von unprivilegierten Benutzern, chfn
und chsh
(und deren entsprechende Funktionalität im userhelper
Programm) zu verwenden, fehlschlagen und protokolliert werden (standardmäßig in /var/log/secure
).
Comments