Die Veröffentlichung von OpenSSH 9.6, einer Open-Source-Implementierung des Clients und Servers für die 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 bei einem MITM-Angriff ermöglicht, die Verbindung auf weniger sichere Authentifizierungsalgorithmen zurückzusetzen und den Schutz gegen Angriffe über externe Kanäle abzuschalten, die Eingaben durch die Analyse von Verzögerungen zwischen Tasteneingaben nachstellen. Die Angriffsmethode wird in einer separaten Nachricht beschrieben.
- Eine Schwachstelle im ssh-Befehlszeilentool, die eine Ausnutzung beliebiger Shell-Befehle durch Manipulation der Werte für Benutzername und Hostname, die Sonderzeichen enthalten, ermöglicht. Die Schwachstelle kann ausgenutzt werden, wenn der Angreifer die Werte für Benutzername und Hostname, die an ssh, die Direktiven ProxyCommand und LocalCommand oder die Blöcke „match exec“ übergeben werden, kontrolliert, wobei Platzhalterzeichen wie %u und %h verwendet werden. Beispielsweise könnten inkorrekte Benutzer- und Hostnamen in Systemen eingefügt werden, die Submodule in Git nutzen, da Git die Verwendung von Sonderzeichen im Hostnamen und Benutzernamen nicht verbietet. Eine ähnliche Schwachstelle zeigt sich auch in libssh.
- Ein Fehler im ssh-agent, der dazu führte, dass beim Hinzufügen von PKCS#11 privaten Schlüsseln die Einschränkungen nur auf den ersten vom PKCS#11 Token zurückgegebenen Schlüssel angewendet wurden. Das Problem betrifft nicht herkömmliche private Schlüssel, FIDO-Tokens und Schlüssel, die ohne Einschränkungen definiert sind.
Weitere Änderungen:
- In ssh wurde die Substitution „%j“ hinzugefügt, die in den Hostnamen aufgelöst wird, der über die ProxyJump-Direktive angegeben ist.
- In ssh wurde die Unterstützung für die Konfiguration von ChannelTimeout auf der Clientseite 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 hinzugefügt (früher wurde nur das OpenSSH Format unterstützt).
- In ssh und sshd wurde eine Protokollerweiterung zur erneuten Aushandlung von Signaturalgorithmen für die Authentifizierung über öffentliche Schlüssel hinzugefügt, die in einer Phase nach dem Erhalt der Benutzernamensdaten durchgeführt wird. Beispielsweise kann mit der Erweiterung selektiv eine andere Algorithmenbindung für Benutzer durch Angabe von PubkeyAcceptedAlgorithms im „Match user“ Block verwendet werden.
- Im ssh-add und ssh-agent wurde eine Erweiterung des Protokolls hinzugefügt, um Zertifikate beim Laden von PKCS#11-Schlüsseln festzulegen. Dadurch können Zertifikate, die mit PKCS#11 privaten Schlüsseln verbunden sind, in allen OpenSSH-Utilities verwendet werden, die ssh-agent unterstützen, und nicht nur in ssh.
- Die Erkennung von nicht unterstützten oder instabilen Compiler-Flags, wie z.B. „-fzero-call-used-regs“ in clang, wurde verbessert.
- Um die Privilegien des sshd-Prozesses in OpenSolaris-Versionen, die das Interface getpflags() unterstützen, einzuschränken, wird der Modus PRIV_XPOLICY anstelle von PRIV_LIMIT verwendet.
Quelle: opennet.ru
