Nach sechs Monaten Entwicklung wurde die OpenSSH 9.1 veröffentlicht, eine Open-Source-Implementierung des Clients und Servers für die Protokolle SSH 2.0 und SFTP. Die Veröffentlichung wird vor allem als Fehlerbehebung charakterisiert und beseitigt mehrere potenzielle Sicherheitsanfälligkeiten, die durch Speicherprobleme verursacht wurden:
- Ein Überlauf eines Byte in der Verarbeitung des SSH-Banner im Dienstprogramm ssh-keyscan.
- Doppelte Aufrufe der Funktion free() im Falle eines Fehlers bei der Berechnung der Hashes für Dateien im Code zur Erstellung und Überprüfung digitaler Signaturen im Dienstprogramm ssh-keygen.
- Doppelte Aufrufe der Funktion free() bei der Fehlerverarbeitung im Dienstprogramm ssh-keysign.
Hauptänderungen:
- In ssh und sshd wurde die Direktive RequiredRSASize hinzugefügt, die es ermöglicht, die minimal zulässige Größe von RSA-Schlüsseln festzulegen. In sshd werden Schlüssel kleinerer Größe ignoriert, und in ssh führt dies zur Beendigung der Verbindung.
- Die tragbare Version von OpenSSH wurde auf die Nutzung von SSH-Schlüsseln zur digitalen Signierung von Commits und Tags in Git umgestellt.
- Die Direktiven SetEnv in den Konfigurationsdateien ssh_config und sshd_config verwenden nun den Wert der ersten Erwähnung der Umgebungsvariable, wenn diese in der Konfiguration mehrfach definiert ist (zuvor wurde die letzte Erwähnung verwendet).
- Beim Aufruf des Dienstprogramms ssh-keygen mit der Option «-A» (Erzeugung aller standardmäßig unterstützten Typen von Hostschlüsseln) wurde die Erzeugung von DSA-Schlüsseln deaktiviert, die seit mehreren Jahren nicht mehr standardmäßig verwendet werden.
- In sftp-server und sftp wurde die Erweiterung «users-groups-by-id@openssh.com» implementiert, die dem Client die Möglichkeit gibt, Benutzernamen und Gruppen abzufragen, die den angegebenen digitalen Identifikatoren (uid und gid) entsprechen. In sftp wurde diese Erweiterung verwendet, um die Namen bei der Anzeige des Verzeichnisinhalts darzustellen.
- In sftp-server wurde die Erweiterung «home-directory» implementiert, die die Pfade ~/ und ~user/ aufschlüsselt, alternativ zu der zuvor vorgeschlagenen Erweiterung «expand-path@openssh.com» (die Erweiterung «home-directory» wurde zur Standardisierung vorgeschlagen und wird bereits von einigen Clients unterstützt).
- In ssh-keygen und sshd wurde die Möglichkeit hinzugefügt, die Zeit in der UTC-Zeitzone beim Festlegen von Lebensdauern für Zertifikate und Schlüssel anzugeben, zusätzlich zur Systemzeit.
- In sftp war es erlaubt, zusätzliche Argumente in der Option «-D» anzugeben (z.B. «/usr/libexec/sftp-server -el debug3»).
- In ssh-keygen ist die Verwendung der Option „-U“ (Nutzung von ssh-agent) zusammen mit den Operationen „-Y sign“ erlaubt, um festzustellen, dass private Schlüssel im ssh-agent platziert sind.
Quelle: opennet.ru
