Nach drei Monaten Entwicklung wurde die Version OpenSSH 10.4 veröffentlicht, eine offene Implementierung von Client und Server für die Protokolle SSH 2.0 und SFTP. Die wichtigsten Änderungen:
- Es wurde experimentelle Unterstützung für das kombinierte Schema zur Erstellung digitaler Signaturen „mldsa44-ed25519“ hinzugefügt, das den postquantenfähigen Algorithmus ML-DSA 44 mit dem auf elliptischen Kurven basierenden Algorithmus Ed25519 kombiniert. Um die Unterstützung zu aktivieren, fügen Sie „mldsa44-ed25519“ zu den Direktiven HostKeyAlgorithms und PubkeyAcceptedAlgorithms hinzu. Zur Generierung von Schlüsseln kann der Befehl „ssh-keygen -t mldsa44-ed25519“ verwendet werden.
- Im ssh- und sshd-Bereich wurde eine neue Implementierung des Musterübereinstimmungssystems eingeführt, die auf einem nichtdeterministischen endlichen Automaten basiert und nicht mehr von exponentiellem Wachstum der Berechnungskomplexität bei der Verwendung von Masken mit vielen „*“-Symbolen betroffen ist.
- Das Verhalten der Linux-Baustellen von sshd mit aktivierter Systemaufruffilterung durch seccomp wurde geändert. Früher führte ein Fehler bei der Aktivierung von SECCOMP oder NO_NEW_PRIVS auf Linux-Systemen ohne deren Unterstützung zu einer Warnmeldung im Log und setzte die Ausführung ohne Isolation fort, während es nun zu einem Absturz führen wird.
- Bei der Verwendung der Option „sshd -G“ werden die Direktiven im Konfigurationsdump jetzt sowohl in Groß- als auch in Kleinbuchstaben aufgezeichnet, anstatt nur in Kleinbuchstaben (d.h. „PubkeyAuthentication“ anstelle von „pubkeyauthentication“).
- Das Verhalten von ssh und sshd wurde an den RFC 4253 Standard angepasst: Das Senden von Nachrichten während des Schlüsselneuaustausches, die nicht mit dem Austausch von Schlüsseln zusammenhängen, führt jetzt zur Beendigung der Verbindung. Zuvor konnten Angreifer eine DoS-Attacke verursachen, indem sie während des Schlüsselneuaustausches endlos externe Nachrichten sendeten, die gepuffert wurden auf Server und Speicher verbrauchten.
Mehrere Sicherheitsprobleme wurden behoben:
- In der ssh-Utility wurde auf ein potenzielles Zugriffsproblem auf den Speicher nach dessen Freigabe (Use-after-Free) beim Zugriff auf bösartigen Server. Das Problem wird durch die Änderung des Hostschlüssels während des Schlüsselneuaustausches ausgenutzt.
- Eine Schwachstelle in sftp, die das Hochladen von Dateien in ein anderes Verzeichnis ermöglicht, während auf einen bösartigen Server mit dem Befehl in der Form „sftp host:/path .“ zugegriffen wird.
- Eine Schwachstelle in scp, die es ermöglicht, beim Kopieren von Dateien zwischen zwei externen Servern gearbeitet werden., von denen einer dem Angreifer kontrolliert wird, um die Dateiaufzeichnung im übergeordneten Verzeichnis, das sich eine Ebene unter dem Zielverzeichnis befindet, zu ermöglichen.
- Ein Problem im sshd wurde behoben, das bei Verwendung der internen SFTP-Serverimplementierung (»internal-sftp«), die standardmäßig deaktiviert ist, auftrat. Das Problem bezog sich auf das Abschneiden langer Sequenzen in der Befehlszeile nach dem neunten Argument, was dazu führte, dass nachfolgende Argumente verworfen wurden. Dadurch konnten möglicherweise sicherheitsrelevante Optionen verworfen werden.
- Ein Mangel im sshd wurde behoben, bei dem die Direktive »DisableForwarding=yes« nicht die Möglichkeit des Tunnelns deaktivierte, die durch die Option »PermitTunnel=yes« (standardmäßig nicht gesetzt) erlaubt wird.
- Ein Problem im sshd wurde behoben, das zur Initiierung eines Denial-of-Service-Angriffs vor der Authentifizierung verwendet werden konnte, wenn die Direktive GSSAPIAuthentication in den Einstellungen aktiviert ist (standardmäßig deaktiviert). Das Problem wird nicht durch das Limit »MaxAuthTries« blockiert, fällt jedoch unter die Einschränkung »PerSourcePenalties«.
- In sshd wurden Mängel behoben, die dazu führten, dass nicht immer die minimale Verzögerung zwischen den Authentifizierungsversuchen hinzugefügt wurde.
Quelle: opennet.ru
