Eine Sicherheitslücke im Tectia SSH-Server hat zur Folge, dass ein entfernter Angreifer Root-Rechte ohne korrekte Authentifizierung erlangen kann.
Dies klingt zunächst dramatisch, doch ist nur ein kleiner Bruchteil der installierten SSH-Server davon betroffen. Die Attacke ist nämlich nur via Old-Style-Authentication möglich, das heißt, die Methoden Keyboard-interactive, GSSAPI und Public-Key-Authentication sind nicht anfällig für die Attacke.
Die Old-Style-Anmeldung lässt sich durch Bearbeiten der Datei “/etc/ssh2/ssh-server-config.xml” deaktivieren. Dazu kommentiert der Admin alle Zeilen mit
<auth-password/>
aus:
<!-- <auth-password /> -->
Dann ist er vor der Attacke sicher.
Gemeldet hat die Schwachstelle Anfang Dezember als Zero-Day-Exploit ein gewisser Kingcope.
Der verantwortliche Programmierfehler befindet sich in der Funktion “input_userauth_passwd_changereq()” in der Quelltextdatei “sshconnect2.c”. Hier kann der Angreifer eine Format-String-Schwachstelle ausnutzen. Neben einem Server mit Old-Style-Authentifizierung muss der Angreifer auch über einen gültigen Benutzernamen auf dem System verfügen. In diesem Fall kann er Angreifer den Server dazu bringen, das Benutzer-Passwort ohne vorherige Authentifizierung zu ändern. Dazu meldet sich der Angreifer beispielsweise als Root am System an (dieser Benutzer existiert) und gibt mehrmals ein Blank-Passwort ein. Nach einigen Versuchen wird der Server dann erlauben, ein neues Passwort zu setzen, mit dem sich der Angreifer schließlich erfolgreich am System anmelden kann.
Das Patch für diese Sicherheitslücke ist sehr einfach:
[root@vs2067037 ~]# diff openssh-5.8p2/sshconnect2.c openssh-5.8p2_2/sshconnect2.c 870a871,873 > input_userauth_passwd_changereq(0,0,authctxt); > return 1; 916c919 < info = packet_get_string(NULL); --- > /* info = packet_get_string(NULL); 921c924 < xfree(lang); --- > xfree(lang);*/
Damit ist die Attacke nicht mehr möglich.
Betroffen sind die Versionen 6.0.4 bis 6.0.20, 6.1.0 bis 6.1.12, 6.2.0 bis 6.2.5 und 6.3.0 bis 6.3.2.

