Kritische Schwachstellen in libssh2 ermöglichen eine entfernte Codeausführung sowie Denial-of-Service-Angriffe ohne vorherige Authentifizierung.
In der weit verbreiteten SSH-Bibliothek libssh2 wurden zwei kritische Sicherheitslücken identifiziert, die Millionen von Systemen weltweit betreffen können. Die schwerwiegendere Schwachstelle wird unter der Kennung CVE-2026-55200 geführt und weist einen CVSS-Basiswert von 9,2 auf. Es handelt sich um einen Fehler beim Schreiben außerhalb der Puffergrenzen. Obwohl libssh2 über ein internes Limit für die Größe empfangener Datenpakete verfügt, wird dieses Limit nicht konsequent erzwungen. Dadurch können Angreifer über das Netzwerk manipulierte Pakete senden, die größer als der reservierte Speicherbereich sind. Dies führt zu einer Korrumpierung des Heap-Speichers. Für den Angriff sind weder Privilegien noch eine Benutzerinteraktion erforderlich. In der offiziellen Sicherheitsmitteilung auf GitHub heißt es dazu:
„Entfernte Angreifer können manipulierte SSH-Pakete mit übermäßig großen packet_length-Werten senden, um den Heap-Speicher zu korrumpieren und eine entfernte Codeausführung zu erreichen.“
Sicherheitsmitteilung auf GitHub
CPU-Erschöpfung bei Client-Systemen
Die zweite Schwachstelle mit der Kennung CVE-2026-55199 besitzt einen Schweregrad von 8,2 und betrifft das Herbeiführen eines Denial-of-Service-Zustands. Dieser Fehler gefährdet Client-Systeme, die eine Verbindung zu einem kompromittierten oder böswilligen SSH-Server aufbauen. Während des initialen Schlüsselaustauschs vor der eigentlichen Authentifizierung kann der Server eine unplausibel hohe Anzahl an unterstützten Erweiterungen deklarieren.
Dies zwingt den Client in eine rechenintensive Schleife, die die CPU für mehr als 60 Sekunden vollständig auslastet. Die technische Dokumentation erklärt den Mechanismus wie folgt: „Eine Denial-of-Service-Schwachstelle vor der Authentifizierung ermöglicht es einem bösartigen SSH-Server, eine CPU-Erschöpfungsschleife beim Client zu verursachen, indem er einen manipulierten Wert für die Anzahl der Erweiterungen sendet.“
Betroffene Software-Ökosysteme von libssh2 und Patch-Status
Der Fehler betrifft die libssh2-Version 1.11.1 sowie alle älteren Ausgaben der Bibliothek. Da libssh2 eine fundamentale Komponente für das weit verbreitete Netzwerk-Werkzeug curl darstellt, um die Protokolle SCP und SFTP zu unterstützen, ist sie in den offiziellen Paketquellen fast aller großen Linux-Distributionen enthalten. Zudem wird die Bibliothek in Backup-Systemen, Dateiübertragungssoftware sowie in selten aktualisierten Netzwerk- und IoT-Geräten eingesetzt, weshalb mit spürbaren Auswirkungen auf nachgelagerte Anwendungen gerechnet wird.
Die Entwickler haben die Fehler im Quellcode bereits über zwei separate Commits auf GitHub behoben. Eine neue offizielle Software-Version der Bibliothek wurde jedoch noch nicht veröffentlicht, weshalb die Maintainer der Linux-Distributionen die Korrekturen derzeit manuell in ihre eigenen Software-Pakete integrieren müssen.
(red)