Debian-Sicherheitsankündigung

DSA-134-4 ssh -- Entfernte Ausnutzbarkeit

Datum des Berichts:
24. Jun 2002
Betroffene Pakete:
ssh
Verwundbar:
Ja
Sicherheitsdatenbanken-Referenzen:
In der Bugtraq-Datenbank (bei SecurityFocus): BugTraq ID 5093.
In Mitres CVE-Verzeichnis: CVE-2002-0640, CVE-2002-0639.
CERTs Verwundbarkeiten, Hinweise und Ereignis-Notizen: CA-2002-18, VU#369347.
Weitere Informationen:

ISS X-Force veröffentlichte eine Ankündigung über eine OpenSSH Entfernte Challenge-Verwundbarkeit. Unglücklicherweise war die Ankündigung in einigen Punkten falsch, was zu einer weitreichenden Verwirrung über den Einfluss dieser Verwundbarkeit führte. Keine Version von OpenSSH in Debian ist von dem SKEY und BSD_AUTH Authentifizierungsmethoden betroffen, wie sie in dem ISS-Gutachten beschrieben werden. Jedoch beinhaltet Debian OpenSSH-Server mit PAM-Unterstützung, die in den späteren Gutachten des OpenSSH-Teams als verwundbar beschrieben wird. (Diese ausnutzbare Fähigkeit ist die Authentifizierung mittels PAM über den interaktiven Tastaturmechanismus [kbdint].) Diese Verwundbarkeit betrifft OpenSSH-Versionen 2.3.1 bis 3.3. Zurzeit ist kein Exploit für die PAM/kbdint-Verwundbarkeit bekannt, jedoch sind die Details öffentlich bekannt. All diese Verwundbarkeiten wurden in OpenSSH 3.4 behoben.

Zusätzlich zu den Sicherheitsbehebungen, die oben angeführt sind, unterstützen unsere OpenSSH-Pakete ab Version 3.3 die neue Privilegteilungs-Fähigkeit von Niels Provos, die ssh dahingehend ändert, einen getrennten unprivilegierten Prozess für die meiste Arbeit zu verwenden. Verwundbarkeiten im nicht privilegierten Account werden auf eine leere chroot eingeschränkt, anstelle zu einer direkten root-Beeinträchtigung zu führen. Privilegteilung sollte helfen, das Risiko durch zukünftige OpenSSH-Beeinträchtigungen zu mildern.

Debian 2.2 (Potato) wurde mit einem auf OpenSSH 1.2.3 basierendem ssh-Paket ausgeliefert, und ist von den Verwundbarkeiten in diesem Gutachten nicht betroffen. Benutzer, die immer noch ein ssh-Paket Version 1.2.3 verwenden, müssen nicht sofort auf OpenSSH 3.4 aktualisieren. Benutzer, die auf die OpenSSH-Version 3.3 Pakete aktualisiert haben, die mit früheren Versionen von DSA-134 veröffentlicht wurden, sollten auf die neuen Version 3.4 OpenSSH-Pakete aktualisieren, da die Version 3.3 Pakete verwundbar sind. Wir empfehlen Benutzern, die OpenSSH 1.2.3 verwenden, eine Umstellung auf OpenSSH 3.4 zu erwägen, um den Vorteil der Privilegteilungs-Möglichkeit zu nutzen. (Jedoch nochmals, uns ist keine spezielle Verwundbarkeit in OpenSSH 1.2.3 bekannt. Bitte lesen Sie sorgfältig die Vorsichtsmaßnahmen, die unterhalb aufgeführt sind, bevor Sie von OpenSSH 1.2.3 aktualisieren.) Wir empfehlen, dass alle Benutzer, die eine zurückportierte Version von OpenSSH Version 2.0 oder größer auf Potato verwenden, auf OpenSSH 3.4 aktualisieren.

Die aktuelle Pre-Release Version von Debian (Woody) beinhaltet ein OpenSSH Version 3.0.2p1 Paket (ssh), das für das oben beschriebene PAM/kbdint-Problem anfällig ist. Wir empfehlen den Benutzern, auf OpenSSH 3.4 zu aktualisieren und Privilegteilung zu aktivieren. Bitte lesen Sie die Release-Bemerkungen unterhalb sorgfältig durch, bevor Sie aktualisieren. An aktualisierten Paketen für ssh-krb5 (ein OpenSSH-Paket, das Kerberos-Authentifizierung unterstützt) wird im Augenblick noch gearbeitet. Benutzer, die ihre OpenSSH-Pakete zurzeit nicht aktualisieren können, möchten eventuell um die bekannten Verwundbarkeiten herumarbeiten, indem sie die verwundbaren Fähigkeiten abschalten: Vergewissern Sie sich, dass die folgenden Zeilen kein Kommentarzeichen vorangestellt haben und in Ihrer /etc/ssh/sshd_config vorhanden sind, und starten Sie ssh neu

  PAMAuthenticationViaKbdInt no
  ChallengeResponseAuthentication no

Es sollte keine anderen PAMAuthenticationViaKbdInt oder ChallengeResponseAuthentication Einträge in sshd_config vorhanden sein.

Das beendet den Verwundbarkeitsabschnitt dieses Gutachten. Folgend finden Sie die Release-Bemerkungen zum OpenSSH 3.4 Paket und die Privilegteilungs-Fähigkeiten. URLs für die OpenSSH 3.4 Pakete stehen am Ende.

Einige Notizen zu möglichen Fragen, die mit dieser Aktualisierung zusammenhängen:

  • Dieses Paket führt einen neuen Account namens sshd ein, der im Privilegteilungs-Code verwendet wird. Falls kein sshd-Account existiert, wird das Paket versuchen, einen zu erstellen. Wenn der Account bereits vorhanden ist, wird er wiederverwendet. Falls Sie nicht wollen, dass dies passiert, müssen Sie dies manuell ändern.
  • (Nur für Potato relevant) Diese Aktualisierung führt eine zurückportierte Version 0.9.6c der SSL-Bibliothek ein. Das bedeutet, dass Sie das libssl0.9.6 Paket ebenfalls aktualisieren müssen.
  • (Nur für Potato relevant) Diese Aktualisierung verwendet standardmäßig die Version 2 des SSH-Protokolls (selbst wenn sie dazu konfiguriert ist, Version 1 des SSH-Protokolls zu unterstützen). Das kann vorhandene Einrichtungen unwirksam machen, bei denen RSA-Authentifizierung verwendet wurde. Sie müssen entweder
    • -1 zum ssh-Aufruf hinzufügen, um weiterhin SSH Protokoll 1 und Ihre vorhandenen Schlüssel zu verwenden, oder
    • die Protocol-Zeile in /etc/ssh/ssh_config und/oder /etc/ssh/sshd_config auf Protocol 1,2 ändern, um Protokoll 1 vor Protokoll 2 zu verwenden, oder
    • neue rsa- oder dsa-Schlüssel für SSH Protokoll 2 erstellen.
  • sshd hat standardmäßig Privilegienteilung aktiviert, selbst wenn Sie es nicht explizit in /etc/ssh/sshd_config aktivieren.
  • ssh unterstützt nicht länger das Zurückfallen auf rsh.
  • (Nur für Potato relevant) Privilegienteilung funktioniert im Augenblick nicht mit Linux 2.0 Kerneln.
  • Privilegienteilung funktioniert im Augenblick mit PAM-Authentifizierung über den KeyboardInteraktive-Mechanismus nicht.
  • Privilegienteilung verursacht, dass einige PAM-Module nicht funktionieren, die erwarten, mit root-Privilegien zu laufen.
  • Wenn Sie Gründe haben, aus denen Sie Privilegienteilung im Augenblick wegen den oben genannten Gründen nicht verwenden können, können Sie es abschalten, indem Sie UsePrivilegeSeparation no in Ihre /etc/ssh/sshd_config Datei einfügen.

Einige Dinge von früheren OpenSSH 3.3p1 Paketen, die mit diesem Gutachten korrigiert wurden (kein komplettes changelog):

  • (Nur für Potato relevant) Die Installationsfrage, do you want to allow protocol 2 only steht nicht länger standardmäßig auf yes für Potato. Benutzer, die diese Frage mit yes beantwortet haben und ebenfalls gewählt haben, dass ihre sshd_config Datei neu generiert werden soll, haben entdeckt, dass Sie sich nicht mehr auf ihren Server über das Protokoll 1 verbinden konnten. Lesen Sie /usr/doc/ssh/README.Debian für eine Anleitung, wie Sie Protokoll 1 aufdrehen können, falls Sie sich in dieser Situation befinden. Da der Standardwert im Potato-Paket nun no ist, sollte dies kein Problem für Leute sein, die in Zukunft von Version 1.2.3 aktualisieren.
  • (Nur für Potato relevant) Das ssh-Paket hat keinen Konflikt mehr mit rsh-server, auch stellt es keine rsh-Alternative mehr zur Verfügung.
  • Die Installation bricht nicht mehr ab, wenn Benutzer Protokoll 1-Schlüssel neu generieren wollen

Wir wollen nochmals darauf hinweisen, dass wir es bedauern, weniger getestete Pakete mit größeren Änderungen als üblicherweise verbreiten zu müssen; wegen der potenziellen Schwere und der nicht spezifischen Natur der ursprünglichen Bedrohung entschieden wir uns, dass unsere Benutzer am besten so rasch wie möglich mit Paketen zur Bewertung gedient ist. Wir werden zusätzliche Informationen senden, wenn wir sie erhalten, und weiter an den ausstehenden Problemen arbeiten.

Behoben in:

Debian GNU/Linux 2.2 (potato)

Quellcode:
http://security.debian.org/pool/updates/main/o/openssh/openssh_3.4p1.orig.tar.gz
http://security.debian.org/pool/updates/main/o/openssh/openssh_3.4p1-0.0potato1.dsc
http://security.debian.org/pool/updates/main/o/openssh/openssh_3.4p1-0.0potato1.diff.gz
http://security.debian.org/pool/updates/main/o/openssl/openssl_0.9.6c.orig.tar.gz
http://security.debian.org/pool/updates/main/o/openssl/openssl_0.9.6c-0.potato.1.diff.gz
http://security.debian.org/pool/updates/main/o/openssl/openssl_0.9.6c-0.potato.1.dsc
Architektur-unabhängige Dateien:
http://security.debian.org/pool/updates/main/o/openssl/ssleay_0.9.6c-0.potato.1_all.deb
alpha (DEC Alpha):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0potato1_alpha.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0potato1_alpha.deb
http://security.debian.org/pool/updates/main/o/openssl/libssl0.9.6_0.9.6c-0.potato.1_alpha.deb
http://security.debian.org/pool/updates/main/o/openssl/openssl_0.9.6c-0.potato.1_alpha.deb
http://security.debian.org/pool/updates/main/o/openssl/libssl-dev_0.9.6c-0.potato.1_alpha.deb
arm (ARM):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0potato1_arm.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0potato1_arm.deb
http://security.debian.org/pool/updates/main/o/openssl/libssl0.9.6_0.9.6c-0.potato.1_arm.deb
http://security.debian.org/pool/updates/main/o/openssl/libssl-dev_0.9.6c-0.potato.1_arm.deb
http://security.debian.org/pool/updates/main/o/openssl/openssl_0.9.6c-0.potato.1_arm.deb
i386 (Intel IA32):
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0potato1_i386.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0potato1_i386.deb
http://security.debian.org/pool/updates/main/o/openssl/libssl-dev_0.9.6c-0.potato.1_i386.deb
http://security.debian.org/pool/updates/main/o/openssl/libssl0.9.6_0.9.6c-0.potato.1_i386.deb
http://security.debian.org/pool/updates/main/o/openssl/openssl_0.9.6c-0.potato.1_i386.deb
powerpc (PowerPC):
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0potato1_powerpc.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0potato1_powerpc.deb
http://security.debian.org/pool/updates/main/o/openssl/openssl_0.9.6c-0.potato.1_powerpc.deb
http://security.debian.org/pool/updates/main/o/openssl/libssl-dev_0.9.6c-0.potato.1_powerpc.deb
http://security.debian.org/pool/updates/main/o/openssl/libssl0.9.6_0.9.6c-0.potato.1_powerpc.deb
sparc (Sun SPARC/UltraSPARC):
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0potato1_sparc.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0potato1_sparc.deb
http://security.debian.org/pool/updates/main/o/openssl/libssl-dev_0.9.6c-0.potato.1_sparc.deb
http://security.debian.org/pool/updates/main/o/openssl/libssl0.9.6_0.9.6c-0.potato.1_sparc.deb
http://security.debian.org/pool/updates/main/o/openssl/openssl_0.9.6c-0.potato.1_sparc.deb

Debian GNU/Linux 3.0 (woody)

Quellcode:
http://security.debian.org/pool/updates/main/o/openssh/openssh_3.4p1-0.0woody1.dsc
http://security.debian.org/pool/updates/main/o/openssh/openssh_3.4p1.orig.tar.gz
http://security.debian.org/pool/updates/main/o/openssh/openssh_3.4p1-0.0woody1.diff.gz
alpha (DEC Alpha):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0woody1_alpha.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0woody1_alpha.deb
arm (ARM):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0woody1_arm.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0woody1_arm.deb
hppa (HP PA RISC):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0woody1_hppa.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0woody1_hppa.deb
i386 (Intel IA32):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0woody1_i386.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0woody1_i386.deb
ia64 (Intel IA64):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0woody1_ia64.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0woody1_ia64.deb
m68k (Motorola Mc680x0):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0woody1_m68k.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0woody1_m68k.deb
mips (SGI MIPS):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0woody1_mips.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0woody1_mips.deb
mipsel (SGI MIPS (Little Endian)):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0woody1_mipsel.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0woody1_mipsel.deb
powerpc (PowerPC):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0woody1_powerpc.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0woody1_powerpc.deb
s390 (IBM S/390):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0woody1_s390.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0woody1_s390.deb
sparc (Sun SPARC/UltraSPARC):
http://security.debian.org/pool/updates/main/o/openssh/ssh_3.4p1-0.0woody1_sparc.deb
http://security.debian.org/pool/updates/main/o/openssh/ssh-askpass-gnome_3.4p1-0.0woody1_sparc.deb

MD5-Prüfsummen der aufgeführten Dateien stehen in der ursprünglichen Sicherheitsankündigung zur Verfügung. (DSA-134-2) (DSA-134-3) (DSA-134-4)