„`html
Zusammenfassung
CVE-2026-64620 ist eine kritische Heap-basierte Pufferüberlauffähigkeit in FreeRDP vor Version 3.28.0. Die Schwachstelle existiert in der Funktion crypto_rsa_common() innerhalb der Datei libfreerdp/crypto/crypto.c. Ein unauthentifizierter Angreifer kann diese Lücke über das Netzwerk ausnutzen, um einen Denial-of-Service-Angriff durchzuführen oder potenziell Code auszuführen.
Betroffene Systeme
- FreeRDP-Versionen ≤ 3.27.1
- RDP-Server-Implementierungen mit Standard Security Mode
- Alle Plattformen, auf denen verwundbare FreeRDP-Versionen eingesetzt werden
Technische Details
Die Vulnerabilität tritt in der RSA-Verarbeitung auf: Die Funktion crypto_rsa_common() schreibt das Ergebnis der modularen Exponentiation mittels BN_bn2bin() in den Output-Buffer des Aufrufers, bevor die Längenbeschränkung überprüft wird. Dadurch können Out-of-Bounds-Bytes geschrieben werden, bevor die Bounds-Checking durchgeführt wird.
Auf Server-Seite wird der verschlüsselte Client-Zufall in einen feststehenden 32-Byte-Buffer dekodiert. Ein unauthentifizierter Angreifer kann, da der RSA-Öffentlichschlüssel des Servers öffentlich zugänglich ist, einen manipulierten Chiffretext erzeugen. Dessen dekodierter Wert kann bis zur vollständigen Modulus-Länge reichen – beispielsweise 256 Bytes bei RSA-2048. Dies führt zu einem Heap-Buffer-Overflow mit bis zu ~224 Bytes attacker-kontrollierter Daten vor der Authentifizierung.
Empfohlene Massnahmen
- Sofortiges Upgrade auf FreeRDP Version 3.28.0 oder höher durchführen
- RDP-Services mit kritischer Bedeutung priorisiert patchen
- Netzwerk-Zugriff auf RDP-Ports (Standard: 3389) auf notwendige IPs beschränken
- Monitoring auf unerwartete RDP-VerbindungsabbrĂĽche einrichten
- WAF/IDS-Regeln für verdächtige RDP-Handshakes implementieren
Bewertung
CVSS-Score: 9.8 (Critical)
Angriffsvektor: Netzwerk | Authentifizierung: Nicht erforderlich | Komplexität: Gering
Die Schwachstelle ermöglicht Pre-Authentication-Angriffe und stellt somit eine ernsthafte Bedrohung dar.
„`