Veröffentlichung von OpenSSH 8.3 mit Behebung einer Schwachstelle in scp

Nach drei Monaten Entwicklung wurde vorgestellt Release OpenSSH 8.3, einer Open-Source-Implementierung von Client und Server für die Protokolle SSH 2.0 und SFTP.

In der neuen Version wurde ein Schutz gegen eine scp-Attacke hinzugefügt, die es dem Server ermöglicht, andere Dateinamen zu übertragen, als die angeforderten (im Gegensatz zu einer vorherigen Schwachstelle, bei der der Angriff nicht die Nutzung eines vom Benutzer gewählten Verzeichnisses oder einer glob-Maske ermöglicht). Zur Erinnerung: Bei SCP trifft der Server die Entscheidung darüber, welche Dateien und Verzeichnisse an den Client gesendet werden, während der Client lediglich die Richtigkeit der zurückgegebenen Objektbezeichnungen überprüft. Das Wesentliche des festgestellten Problems besteht darin, dass, wenn der Systemaufruf utimes fehlschlägt, der Inhalt der Datei als Metadaten der Datei interpretiert wird.

Diese Funktion beim Anschluss an einen Server, der von einem Angreifer kontrolliert wird, kann genutzt werden, um im Dateisystem des Benutzers andere Dateinamen und Inhalte beim Kopieren mit scp zu speichern, wenn Konfigurationen zu einem Fehler beim Aufruf von utimes führen (zum Beispiel, wenn utimes durch die SELinux-Richtlinie oder einen Filtersystemaufruf untersagt ist). Die Wahrscheinlichkeit echter Angriffe wird als minimal eingeschätzt, da in typischen Konfigurationen der Aufruf von utimes nicht fehlschlägt. Außerdem bleibt der Angriff nicht unbemerkt — beim Aufruf von scp wird ein Übertragungsfehler angezeigt.

Allgemeine Änderungen:

  • In sftp wurde die Verarbeitung des Arguments „-1“ eingestellt, analog zu ssh und scp, wo es zuvor akzeptiert, aber ignoriert wurde;
  • In sshd gibt es bei Verwendung von IgnoreRhosts jetzt drei Auswahlmöglichkeiten: „yes“ — rhosts/shosts ignorieren, „no“ — rhosts/shosts berücksichtigen und „shosts-only“ — „.shosts“ erlauben, aber „.rhosts“ verbieten;
  • In ssh wird die Verarbeitung der Ersetzung %TOKEN in den Einstellungen LocalFoward und RemoteForward gewährleistet, die für die Umleitung von Unix-Sockets verwendet werden;
  • Das Hochladen von öffentlichen Schlüsseln aus einer unverschlüsselten Datei mit einem privaten Schlüssel ist erlaubt, sofern keine separate Datei mit dem öffentlichen Schlüssel vorhanden ist;
  • Wenn libcrypto im System vorhanden ist, verwendet ssh und sshd nun die Implementierung des Algorithmus chacha20 aus dieser Bibliothek anstelle der integrierten portablen Implementierung, die in der Leistung hinterherhinkt;
  • Die Möglichkeit, den Inhalt der binären Liste zurückgezogener Zertifikate mit dem Befehl „ssh-keygen -lQf /path“ zu dumpen, wurde implementiert;
  • In der portablen Version wurde die Erkennung von Systemen umgesetzt, in denen Signale mit der Option SA_RESTART die Funktion von select unterbrechen;
  • Probleme beim Kompilieren auf HP/UX- und AIX-Systemen wurden behoben;
  • Probleme mit der Kompilierung der seccomp-Sandbox in bestimmten Linux-Konfigurationen wurden behoben;
  • Die Erkennung der Bibliothek libfido2 wurde verbessert, und Probleme mit der Kompilierung mit der Option „—with-security-key-builtin“ wurden gelöst.

Die Entwickler von OpenSSH haben erneut vor der bevorstehenden Einstufung von Algorithmen, die SHA-1-Hashes verwenden, als veraltet gewarnt, im Zusammenhang mit der Steigerung der Effizienz von Kollisionen mit festgelegtem Präfix (die Kosten für die Kollisionserstellung werden auf etwa 45.000 Dollar geschätzt). In einer der nächsten Versionen planen sie, die Verwendung des Algorithmus für digitale Signaturen auf der Grundlage des öffentlichen Schlüssels „ssh-rsa“, der im ursprünglichen RFC für das SSH-Protokoll erwähnt wird und in der Praxis weiterhin weit verbreitet ist, standardmäßig zu deaktivieren (um zu überprüfen, ob ssh-rsa in Ihren Systemen verwendet wird, können Sie versuchen, sich mit der SSH-Option „-oHostKeyAlgorithms=-ssh-rsa“ zu verbinden).

Um den Übergang zu neuen Algorithmen in OpenSSH zu erleichtern, wird in einer der kommenden Versionen standardmäßig die Einstellung UpdateHostKeys aktiviert, die es ermöglicht, Clients automatisch auf sicherere Algorithmen umzustellen. Zu den empfohlenen Algorithmen für die Migration gehören rsa-sha2-256/512 basierend auf RFC8332 RSA SHA-2 (unterstützt seit OpenSSH 7.2 und standardmäßig verwendet), ssh-ed25519 (unterstützt seit OpenSSH 6.5) und ecdsa-sha2-nistp256/384/521 basierend auf RFC5656 ECDSA (unterstützt seit OpenSSH 5.7).

Mit der letzten Version wurden „ssh-rsa“ und „diffie-hellman-group14-sha1“ aus der Liste der CASignatureAlgorithms entfernt, die Algorithmen für digitale Signaturen neuer Zertifikate definiert. Dies geschieht, da die Verwendung von SHA-1 in Zertifikaten zusätzliche Risiken birgt, da ein Angreifer unbegrenzte Zeit hat, um eine Kollision für ein bestehendes Zertifikat zu finden, während die Zeit für Angriffe auf Host-Schlüssel durch die Verbindungszeitüberschreitung (LoginGraceTime) begrenzt ist.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster