Lücken in rdesktop ermöglichen Codeschmuggel

Dem rdesktop-Client für unixoide Betriebssysteme des rdesktop-Projekts können Angreifer aufgrund von Sicherheitslücken Schadcode untermogeln.

In Pocket speichern vorlesen Druckansicht 56 Kommentare lesen
Lesezeit: 2 Min.
Von

Der Sicherheitsdienstleister iDefense hat mehrere Sichereitslücken in dem quelloffenen Client des rdesktop-Projekts gemeldet, durch die Angreifer etwa mit einem manipulierten RDP-Server Anwendern Schadcode unterschieben können. Der rdesktop-Client dient dazu, von Unix-Betriebssystemen aus etwa auf Windows-Terminal-Server zuzugreifen, die das Remote-Desktop-Protocol (RDP) sprechen.

Ingesamt drei Sicherheitslücken hat iDefense im rdesktop-Client aufgespürt. Die Funktion xrealloc() nimmt eine vorzeichenbehaftete Prüfung vor, ob die Speicheranforderung einen Bereich kleiner 1 anfordert und setzt gegebenenfalls die Größe auf 1. Dadurch kann der reservierte Speicherbereich zu klein geraten, ein Pufferüberlauf auftreten und eingeschleuster Code ausgeführt werden.

Die zweite Lücke kann beim Verarbeiten von präparierten Redirect-Anfragen ausgenutzt werden, da der rdesktop-Client mehrere 32-bittige Integer-Werte aus dem Redirect-Paket ungeprüft für Kopieroperationen in Puffer fester Größe nutzt. Auch dabei können die auftretenden Pufferüberläufe zum Ausführen eingeschleusten Codes führen. Zudem kann beim Verarbeiten von manipulierten RDP-Paketen ein heapbasierter Pufferüberlauf auftreten, da der rdesktop-Client einen 16-bittigen Integer-Wert aus dem Paket nutzt, davon den Wert 4 abzieht und das Ergebnis als Größe eines Puffers für eine Kopieraktion nutzt – dabei kann jedoch ein sogenannter Integer-Underflow auftreten und der Puffer unterdimensioniert sein.

Die Fehler betreffen die aktuelle stabile Version 1.5.0 des rdesktop-Clients und möglicherweise auch die älteren Fassungen. Im Versionskontrollsystem (CVS) haben die Entwickler die Schwachsellen jedoch bereits abgedichtet. Nutzer des rdesktop-Clients sollten etwa Einladungen von Fremden zu einer RDP-Sitzung beispielsweise zur Unterstützung bei der Fehlersuche nicht folgen. Sofern Nutzer auf potenziell manipulierbare RDP-Server verbinden müssen, sollten sie zumindest die aktuellen Quellen aus dem CVS herunterladen und den Client neu übersetzen.

Siehe dazu auch:

(dmk)