Die Veröffentlichung von OpenSSH 9.6, der offenen Implementierung eines Clients und Servers zur Nutzung der Protokolle SSH 2.0 und SFTP, ist erfolgt. In der neuen Version wurden drei Sicherheitsprobleme behoben:
- Eine Schwachstelle im SSH-Protokoll (CVE-2023-48795, Angriff "Terrapin"), die es im Rahmen eines MITM-Angriffs ermöglicht, die Verbindung auf die Nutzung weniger sicherer Authentifizierungsalgorithmen zurückzusetzen und den Schutz vor Angriffen über Seitenschritte zu deaktivieren, die Eingaben durch die Analyse von Verzögerungen zwischen Tasteneingaben rekreieren. Die Methode des Angriffs wird in einer separaten Nachricht beschrieben.
- Eine Schwachstelle im ssh-Befehl, die die Durchführung der Substitution beliebiger Shell-Kommandos durch Manipulation der Login- und Hostwerte ermöglicht, die Sonderzeichen enthalten. Diese Schwachstelle kann ausgenutzt werden, wenn der Angreifer die Login- und Hostnamenwerte kontrolliert, die an ssh, die Anweisungen ProxyCommand und LocalCommand oder die Blöcke „match exec“ übergeben werden, in denen Platzhalter wie %u und %h angegeben sind. Zum Beispiel können inkorrekte Anmeldeinformationen und Hosts in Systemen eingebracht werden, die Submodule in Git verwenden, da Git die Angabe von Sonderzeichen in Host- und Benutzernamen nicht verbietet. Eine ähnliche Schwachstelle ist auch in libssh vorhanden.
- Ein Fehler im ssh-agent, aufgrund dessen beim Hinzufügen von privaten PKCS#11-Schlüsseln die Einschränkungen nur auf den ersten Schlüssel angewendet wurden, der vom PKCS#11-Token zurückgegeben wurde. Das Problem betrifft keine regulären privaten Schlüssel, FIDO-Token und Schlüssel, die ohne Einschränkungen festgelegt wurden.
Weitere Änderungen:
- In ssh wurde der Platzhalter "%j" hinzugefügt, der in den über die ProxyJump-Anweisung angegebenen Hostnamen aufgelöst wird.
- In ssh wurde die Unterstützung für die Konfiguration von ChannelTimeout auf der Client-Seite hinzugefügt, die verwendet werden kann, um inaktive Kanäle zu beenden.
- In ssh, sshd, ssh-add und ssh-keygen wurde die Unterstützung für das Lesen von ED25519 privaten Schlüsseln im PEM PKCS8-Format eingeführt (zuvor wurde nur das OpenSSH-Format unterstützt).
- In ssh und sshd wurde eine Protokollerweiterung hinzugefügt, um die Neuverhandlung der Signaturalgorithmen für die Authentifizierung mit öffentlichen Schlüsseln zu ermöglichen, die nach Erhalt der Benutzernameninformationen stattfindet. Beispielsweise können mithilfe der Erweiterung selektiv andere Algorithmen in Verbindung mit Benutzern über die Angabe von PubkeyAcceptedAlgorithms im „Match user“-Block verwendet werden.
- In ssh-add und ssh-agent wurde eine Protokollerweiterung zum Festlegen von Zertifikaten beim Laden von PKCS#11-Schlüsseln hinzugefügt, die es ermöglicht, Zertifikate, die mit PKCS#11-schlüsselbasierten privaten Schlüsseln verbunden sind, in allen OpenSSH-Dienstprogrammen zu verwenden, die ssh-agent unterstützen, und nicht nur in ssh.
- Die Erkennung von nicht unterstützten oder instabilen Kompilierungsflags, wie z. B. „-fzero-call-used-regs“ in clang, wurde verbessert.
- Um die Privilegien des Prozesses sshd in OpenSolaris-Versionen, die das getpflags()-Interface unterstützen, einzuschränken, wird der Modus PRIV_XPOLICY anstelle von PRIV_LIMIT verwendet.
Quelle: opennet.ru
