Die Veröffentlichung von OpenSSH 10.6 wurde bekannt gegeben, einer offenen Implementierung des Clients und Servers für die Protokolle SSH 2.0 und SFTP. Sicherheitsprobleme wurden behoben, die meisten davon wurden bei der Codeanalyse mit AI-Tools entdeckt (CVE-IDs wurden nicht zugewiesen):
- Eine Schwachstelle in sftp ermöglicht es, eine Datei außerhalb des Zielverzeichnisses zu schreiben, wenn auf einen von einem Angreifer kontrollierten Server zugegriffen wird.
- Zwei Schwachstellen in der GSSAPI-Implementierung in sshd, verursacht durch die Speicherung des Zustands zwischen verschiedenen Authentifizierungsversuchen. GSSAPI-Anmeldeinformationen konnten nach einem fehlgeschlagenen Authentifizierungsversuch gespeichert und nach einem folgenden erfolgreichen Authentifizierungsversuch verwendet werden. Die Probleme treten auf, wenn die Einstellung GSSAPIAuthentication aktiviert ist.
- In sshd und ssh wurde die Unterstützung für LZ77-Komprimierung deaktiviert, um Angriffen über Seitenkanäle zu verhindern, die es ermöglichen, den Inhalt aus einer anderen Sitzung wiederherzustellen, wenn über eine mit dem Opfer gemeinsam genutzte multiplexierte Verbindung verbunden, und dabei ausgenutzte kontrollierte Eingaben die Gesamtgröße der übermittelten verschlüsselten Nachrichten beeinflussen (LZ77 ersetzt wiederholte Zeilen durch Verweise im gemeinsamen Puffer für alle Kanäle).
- In der ssh-Anwendung wurde die Verwendung der Zeichen '$' und '\' in Benutzernamen, die über die Befehlszeile eingegeben werden, verboten, da diese dazu verwendet werden konnten, die Ausführung von Code durch Ersetzung der Namen in den in den Einstellungen angegebenen ProxyCommand- und Match exec-Direktiven zu organisieren.
- In ssh-keygen wurde die fehlerhafte Behandlung der Sommerzeit behoben, die dazu führte, dass die Gültigkeitsdauer von Zertifikaten um eine Stunde verschoben wurde.
- Um die Erstellung von Zip-Bomben zu blockieren, wurde in sshd und ssh eine Überprüfung der Überschreitung der maximalen Paketgröße beim Entpacken von Daten hinzugefügt.
- In sshd wurde ein Problem behoben, das es ermöglichte, die Einschränkungen des Schlüsselworts „restrict“ in der Datei authorized_keys zu umgehen, das nicht auf Tunnel (PermitTunnel) angewendet wurde.
- In sshd wurde eine fehlerhafte Analyse der Option „none“ innerhalb von Match-Blöcken behoben, die in einigen Direktiven, wie AuthorizedPrincipalsFile, als Dateiname und nicht als Zeichen zum Deaktivieren der Direktive interpretiert wurde.
- In sshd wurde das Fehlen der Zurücksetzung von root-Rechten auf Plattformen behoben, die keine Übertragung von Dateideskriptoren unterstützen und für die Zuweisung von PTY Root-Rechte benötigen. Das Problem tritt unter QNX 6, SCO OpenServer 5 und beim Build mit der Option „—disable-fd-passing“ auf.
Änderungen, die nicht mit Sicherheitsanfälligkeiten zusammenhängen:
- Die Unterstützung des hybriden Kryptoalgorithmus ssh-mldsa44-ed25519, der gegen Quantencomputer resistent ist, wurde aktiviert.
- In der sshd_config wurde die Option WarnWeakCrypto, die standardmäßig aktiviert ist, implementiert, um Warnmeldungen über die Verwendung von Schlüsselvereinbarungsalgorithmen, die nicht quantenresistent sind, zu verwalten.
- In ssh-keygen und ssh-add wurde die Überprüfung der credProtect-Politik in den Anmeldeinformationen implementiert, um die Anforderungen an die Verifizierung (PIN oder Biometrie) vor dem Zugriff auf die residenten Schlüssel auf FIDO-Tokens zu erfüllen.
- In ssh-add wurde die Option „-P“ hinzugefügt, um die optionale Eingabe eines PIN-Codes für FIDO- und PKCS#11-Token zu überspringen.
- In ssh wurde im Befehl ~I die Ausgabe von Versionsinformationen zu lokalen und entfernten Systemen implementiert.
- In sftp wurde der Befehl mkdir/lmkdir die Option ‘-p’ hinzugefügt, um Verzeichnisse bei Bedarf zu erstellen.
- In ssh-keygen wurde der Modus „hexdump“ zum Export von Schlüsseln in Form von hexadezimalen Dumps (zum Beispiel zur Einfügung in Dokumentationen) hinzugefügt.
- In ssh und sshd wurde in der Direktive ChannelTimeout die Angabe von Zeitüberschreitungen mit einer Genauigkeit von Bruchteilen einer Sekunde ermöglicht.
- In sshd wurde die Option AgentSocketPath hinzugefügt, um den Pfad zu $SSH_AUTH_SOCK beim Durchschleifen des Agents anzugeben (zum Beispiel user:.ssh/agent für Unterverzeichnisse in $HOME und shared:/tmp für gemeinsame Verzeichnisse).
- In ssh-agent wurde die Option „-A“ hinzugefügt, um Verzeichnisse mit Agent-Sockets anzugeben, in denen die Präfixe „user:“ und „shared:“ wie in der Option AgentSocketPath angegeben werden dürfen.
- In sshd wurde die Überprüfung der öffentlichen Schlüssel von den Authentifizierungsversuchen getrennt. Eine Option „PubkeyOptions max-pk-ok:nnnn“ wurde hinzugefügt, um die Anzahl der Versuche zur Überprüfung der öffentlichen Schlüssel (standardmäßig 6) zu konfigurieren, nach denen die Verbindung aufgrund des Limits MaxAuthTries getrennt wird.
- In ssh und sshd wurde in die Option TCPKeepAlive die Unterstützung für den Wert „all“ hinzugefügt, was das Senden von Keepalive-Paketen nicht nur für die Hauptverbindung, sondern auch für darüber vermittelte Verbindungen umfasst.
Quelle: opennet.ru
