Die korrigierte Version OpenSSH 9.9p2 steht zur Verfügung, in der zwei Sicherheitsanfälligkeiten behoben wurden, die von Qualys entdeckt wurden. Ein Beispiel für die Ausnutzung dieser Schwachstellen zur Durchführung eines MITM-Angriffs wurde demonstriert, bei dem der Datenverkehr beim Verbindungsversuch eines Clients zum SSH-Server auf einen eigenen gefälschten Server umgeleitet wird, wodurch die Überprüfung des Hostschlüssels umgangen wird und der Client den Eindruck erhält, mit dem gewünschten Server verbunden zu sein (der SSH-Client akzeptiert den Hostschlüssel des gefälschten Servers anstelle des Schlüssels des legitimen Servers).
Die erste Schwachstelle (CVE-2025-26465) wird durch einen logischen Fehler in der ssh-Utility verursacht, der es ermöglicht, die Serveridentifizierung zu umgehen und einen MITM-Angriff durchzuführen. Das Problem tritt seit der Veröffentlichung von OpenSSH 6.8p1 (Dezember 2014) in Konfigurationen auf, bei denen die Einstellung VerifyHostKeyDNS aktiviert ist. In der Standardinstallation von OpenSSH ist diese Option standardmäßig deaktiviert, wurde jedoch bis März 2023 in den ssh-Einstellungen unter FreeBSD aktiviert.
Das Kernproblem besteht darin, dass im Code der Funktion verify_host_key_callback() beim Aufruf der Funktion verify_host_key() nur der Fehlercode „-1“ überprüft wird, während andere Codes wie „-2“ ignoriert werden. Infolgedessen kann die Funktion verify_host_key_callback() einen erfolgreichen Code „0“ zurückgeben, obwohl die Funktion verify_host_key() den Fehler „-2“ zurückgibt. Der Fehlercode „-2“ wird von der Funktion verify_host_key() bei unzureichendem Speicher zurückgegeben. Wenn Bedingungen geschaffen werden, die zu unzureichendem Speicher in der Funktion verify_host_key() führen, wird SSH annehmen, dass der Hostschlüssel erfolgreich überprüft wurde. Um solche Bedingungen zu schaffen, gibt der gefälschte SSH-Server des Angreifers, auf den der Client umgeleitet wird, den Hostschlüssel mit der maximal möglichen Größe (256KB) zurück und gleichzeitig wird ein Speicherleck auf der Seite des ssh-Clients ausgenutzt.
Die Bedingungen zur Schaffung eines Speicherlecks werden durch die zweite Schwachstelle (CVE-2025-26466) erreicht, die sowohl den ssh-Client als auch Server sshd, und ohne Authentifizierung betrieben. Die Verwundbarkeit ermöglicht es, den verfügbaren Speicher des Prozesses zu erschöpfen und eine hohe CPU-Auslastung durch das Senden einer großen Anzahl von SSH2_MSG_PING-Paketen zu erzeugen. Im Handler für SSH2_MSG_PING gibt es einen Speicherleck, der seit der Veröffentlichung von OpenSSH 9.5p1 (August 2023) auftritt. Das Leck entsteht, weil für jedes eingehende 16-Byte-PING-Paket ein 256-Byte-Puffer für die Antwort zugewiesen wird, dieser Puffer jedoch erst nach Abschluss der Schlüsselaushandlung freigegeben wird. Als Umgehungsschutz wird empfohlen, Einschränkungen mit den Direktiven LoginGraceTime, MaxStartups und PerSourcePenalties zu konfigurieren.
Quelle: opennet.ru
