*sshole Webseite

OpenSSH-Sicherheitslücke ermöglicht Anmeldung an gesperrten Konten

Eine als *sshole bezeichnete Sicherheitslücke erlaubt es Angreifern, sich auf bestimmten Linux-Systemen per SSH an Benutzerkonten anzumelden, für die eigentlich keine Passwortanmeldung möglich sein sollte. Betroffen sind insbesondere Systeme mit der C-Bibliothek musl. Dazu zählen vorwiegend Container-Umgebungen, eingebettete Systeme und minimalistische Distributionen. Die Schwachstelle besteht bereits seit 2016 und wurde jetzt vom Sicherheitsforscher Özgün Kültekin entdeckt. Mit OpenSSH 10.6p2 steht seit dem 5. November eine korrigierte Version bereit.

Ein Sternchen als Sicherheitsproblem

Die Ursache liegt im Zusammenspiel zwischen OpenSSH und der C-Bibliothek musl, die auch von einigen Linux-Distributionen wie Alpine Linux oder Void als Alternative zur glibc genutzt wird. Linux-Systeme können die Passwortanmeldung für Benutzerkonten unterbinden, indem sie in der Datei /etc/shadow anstelle eines Passwort-Hashes ein Sternchen (*) hinterlegen. Die Funktion crypt() von musl liefert allerdings ebenfalls ein Sternchen zurück, wenn die Verarbeitung eines Passworts fehlschlägt. Das geschieht unter anderem bei Passwörtern mit mehr als 256 Byte.

OpenSSH interpretiert unter bestimmten Voraussetzungen die beiden übereinstimmenden Sternchen als erfolgreiche Authentifizierung. Ein Angreifer kann sich dadurch mit einem beliebigen Passwort zwischen 257 und 1024 Byte anmelden, obwohl das betreffende Konto keine Passwortanmeldung erlauben sollte. Die Schwachstelle entstand durch das Zusammenwirken mehrerer Änderungen an musl und OpenSSH, darunter eine 2016 eingeführte Korrektur gegen die Ermittlung gültiger Benutzernamen über Antwortzeiten.

Alpine Linux besonders betroffen

Ausnutzbar ist die Lücke nur unter bestimmten Bedingungen. Neben musl muss OpenSSH ohne PAM (Pluggable Authentication Modules) betrieben werden und die Passwortauthentifizierung aktiviert sein. Außerdem muss mindestens ein Benutzerkonto mit einem Sternchen als Passwort-Hash und ein weiteres Konto mit einem gültigen Passwort-Hash existieren.

Diese Konstellation findet sich unter anderem bei Alpine Linux. Besonders kritisch ist die Schwachstelle bei den offiziellen Cloud-Images für AWS und Azure. Dort kann ein Angreifer über das standardmäßig vorhandene Konto alpine unter Umständen Root-Rechte erlangen, da dieses doas ohne Passwort verwenden darf.

Auch Systeme auf Basis von OpenWrt, Buildroot oder Yocto könnten betroffen sein, sofern sie OpenSSH in einer entsprechenden Konfiguration einsetzen. OpenWrt verwendet standardmäßig allerdings Dropbear als SSH-Server, der von der Lücke nicht betroffen ist. Für typische Installationen von Debian, Ubuntu und Fedora mit glibc und PAM besteht diese Gefahr ebenfalls nicht.

Sicherheitsupdate verfügbar

Die OpenSSH-Entwickler haben mit Version 10.6p2 eine Korrektur veröffentlicht, die den Authentifizierungsfehler verhindert. Administratoren betroffener Systeme sollten die bereitgestellten Sicherheitsupdates zeitnah installieren. Falls ein Update nicht unmittelbar möglich ist, lässt sich die Schwachstelle durch Deaktivieren der SSH-Passwortauthentifizierung umgehen. Dazu genügt der Eintrag PasswordAuthentication no in der Konfiguration des SSH-Server. Voraussetzung ist, dass eine funktionierende Anmeldung per SSH-Schlüssel eingerichtet wurde. Anschließend muss der SSH-Dienst neu gestartet werden.

Weitere technische Einzelheiten hat der Entdecker auf der eigens eingerichteten Website sshhole.com dokumentiert. Dort beschreibt er auch, wie er die Schwachstelle mithilfe KI-gestützter Tests mit rund 17.600 unterschiedlichen Authentifizierungsversuchen aufspürte.

Teilt den Beitrag, falls ihr mögt

Kommentar hinterlassen