Nach drei Monaten Entwicklung wurde die Version OpenSSH 10.4 veröffentlicht, eine Open-Source-Implementierung von Client und Server für die Protokolle SSH 2.0 und SFTP. Die wichtigsten Änderungen:
- Experimentelle Unterstützung für das kombinierte Schema zur Erzeugung digitaler Signaturen „mldsa44-ed25519“ hinzugefügt, das den post-quantum Algorithmus ML-DSA 44 mit dem Algorithmus auf Basis der elliptischen Kurven Ed25519 kombiniert. Um die Unterstützung zu aktivieren, sollte „mldsa44-ed25519“ in die Richtlinien HostKeyAlgorithms und PubkeyAcceptedAlgorithms aufgenommen werden. Für die Schlüsselerzeugung kann der Befehl „ssh-keygen -t mldsa44-ed25519“ verwendet werden.
- In ssh und sshd wurde eine neue Implementierung des Mustermappings eingeführt, die auf einem nichtdeterministischen Automaten basiert und nicht das Problem des exponentiellen Wachstums der Berechnungsaufwände bei der Verwendung von Masken mit vielen „*“-Zeichen hat.
- Das Verhalten der Linux-Versionen von sshd mit aktivierter Systemaufruffilterung mittels seccomp wurde geändert. Früher führte ein Fehler beim Aktivieren von SECCOMP oder NO_NEW_PRIVS auf Linux-Systemen ohne deren Unterstützung zu einer Warnmeldung im Log und dazu, dass die Ausführung ohne Isolierung fortgesetzt wurde; nun führt dies zu einem Abbruch.
- Bei der Verwendung der Option „sshd -G“ werden die Richtlinien im Konfigurationsdump jetzt mit Groß- und Kleinbuchstaben geschrieben, anstatt nur in Kleinbuchstaben (d.h. „PubkeyAuthentication“ anstelle von „pubkeyauthentication“).
- Das Verhalten von ssh und sshd wurde an den Standard RFC 4253 angepasst: Das Senden von Nachrichten, die nicht mit dem Schlüsselaustausch verbunden sind, während der erneuten Ausführung des Schlüsselaustauschs, führt jetzt zur Beendigung der Verbindung. Früher konnten Angreifer DoS-Angriffe durchführen, indem sie während des Schlüsselaustauschs kontinuierlich externe Nachrichten sendeten, die gepuffert wurden auf Server und Speicher verbrauchten.
Mehrere Sicherheitsprobleme wurden behoben:
- In der ssh-Anwendung wurde ein potenzieller Zugriff auf den Speicher nach seiner Freigabe (use-after-free) bei der Interaktion mit einem bösartigen zu einem Server. Das Problem wird durch die Änderung des Hostschlüssels während der erneuten Ausführung des Schlüsselaustauschs ausgenutzt.
- Eine Schwachstelle in sftp, die das Hochladen von Dateien in ein anderes Verzeichnis bei der Verbindung zu einem bösartigen Server über einen Befehl in der Form „sftp host:/path .“ ermöglicht.
- Eine Schwachstelle in scp, die beim Kopieren von Dateien zwischen zwei externen Servern, einer davon unter der Kontrolle des Angreifers, um die Dateiaufzeichnung im übergeordneten Verzeichnis zu organisieren, das sich eine Ebene unter dem Zielverzeichnis befindet.
- Ein Problem im sshd wurde behoben, das bei der Verwendung der internen Implementierung des SFTP-Servers („internal-sftp“), die standardmäßig deaktiviert ist, auftrat. Das Problem ist damit verbunden, dass lange Sequenzen in der Befehlszeile nach dem neunten Argument abgeschnitten werden, was dazu führt, dass die folgenden Argumente verworfen werden. Dadurch könnten potenziell sicherheitsrelevante Optionen verworfen werden.
- Im sshd wurde eine Schwachstelle behoben, aufgrund derer die Direktive „DisableForwarding=yes“ die Möglichkeit der Erstellung von Tunneln, die durch die Option „PermitTunnel=yes“ erlaubt sind (standardmäßig nicht eingestellt), nicht deaktivierte.
- Im sshd wurde ein Problem behoben, das verwendet werden konnte, um einen Denial-of-Service (DoS) in der Phase vor der Authentifizierung zu initiieren, wenn die Direktive GSSAPIAuthentication in den Einstellungen aktiviert wurde (standardmäßig deaktiviert). Dieses Problem wird nicht durch das Limit „MaxAuthTries“ blockiert, fällt jedoch unter die Einschränkung „PerSourcePenalties“.
- Im sshd wurden Probleme behoben, wegen derer nicht immer eine minimale Verzögerung zwischen den Authentifizierungsversuchen hinzugefügt wurde.
Quelle: opennet.ru
