CVE-2026-56297
WysokieCVSS 7.0Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 18 - wyżej niż 18% wszystkich znanych CVE
Streszczenie
FreeRDP przed wersją 3.22.0 zawiera podatność use-after-free w funkcjach dvcman_channel_close i dvcman_call_on_receive z powodu nieprawidłowej synchronizacji dostępu do channel_callback. Złośliwy serwer RDP może wywołać wyścig poprzez jednoczesne wysyłanie komunikatów DYNVC_DATA i DYNVC_CLOSE, powodując użycie sterty po zwolnieniu w wątku klienta drdynvc, co może umożliwić zdalne wykonanie kodu lub odmowę usługi.
Ocena ryzyka
Organizacja narażona jest na zdalne przejęcie kontroli nad klientem RDP lub przerwanie działania usługi, co może prowadzić do wycieku danych lub zakłócenia pracy.
Rekomendacja
Należy niezwłocznie zaktualizować FreeRDP do wersji 3.22.0 lub nowszej, która zawiera poprawkę eliminującą podatność.
Inne podatności w FreeRDP
Zobacz wszystkie- CVE-2026-23732Wysokie
FreeRDP przed wersją 3.21.0 zawiera podatność w parsowaniu FastGlyph, gdzie długość danych nie jest weryfikowana względem minimalnego rozmiaru wynikającego z wymiarów cx/cy. Złośliwy serwer może wywołać przepełnienie bufora po stronie klienta, prowadząc do awarii (DoS).
- CVE-2026-22856Wysokie
FreeRDP to darmowa implementacja protokołu Remote Desktop Protocol. Przed wersją 3.20.1, wyścig w śledzeniu wątków IRP kanału szeregowego pozwala na użycie po zwolnieniu (use-after-free) w stercie, gdy jeden wątek usuwa wpis z serial->IrpThreads, a inny go czyta. Luka została naprawiona w wersji 3.20.1.
- CVE-2013-4119Wysokie
FreeRDP w wersjach przed 1.1.0-beta+2013071101 pozwala zdalnym atakującym na spowodowanie odmowy usługi poprzez rozłączenie przed zakończeniem procesu uwierzytelniania, co prowadzi do dereferencji wskaźnika NULL i awarii aplikacji.
- CVE-2013-4118Wysokie
FreeRDP w wersjach przed 1.1.0-beta1 pozwala zdalnym atakującym na spowodowanie odmowy usługi poprzez dereferencję wskaźnika NULL, co prowadzi do awarii aplikacji.
- CVE-2014-0250Wysokie
Wielokrotne przepełnienia całkowite w pliku client/X11/xf_graphics.c w FreeRDP mogą pozwolić zdalnym atakującym na wywołanie nieokreślonego wpływu poprzez szerokość i wysokość w funkcjach xf_Pointer_New lub xf_Bitmap_Decompress, co prowadzi do niewłaściwej alokacji pamięci.
- CVE-2026-68579Krytyczne
FreeRDP przed wersją 3.30.0 zawiera przepełnienie bufora sterty w funkcji CliprdrStream_Read klienta schowka Windows. Złośliwy serwer RDP może wysłać odpowiedź o rozmiarze większym niż bufor odbiorcy, powodując zapis poza zakresem.
- CVE-2026-67305Krytyczne
Klient FreeRDP dla systemu Windows przed wersją 3.29.0 zawiera podatność na przepełnienie bufora sterty w wirtualnym kanale schowka podczas przetwarzania PDU CLIPRDR_FILE_CONTENTS_RESPONSE bez walidacji rozmiaru dostarczonego przez serwer względem bufora docelowego. Złośliwy serwer RDP może wysłać odpowiedź z ładunkiem danych znacznie większym niż żądany, powodując dowolne uszkodzenie pamięci sterty, co może umożliwić zdalne wykonanie kodu, gdy użytkownik wykona operację wklejania.
- CVE-2026-67289Krytyczne
FreeRDP przed wersją 3.29.0 (dotknięte wersje <= 3.28.0) nie waliduje znaków CRLF i kontrolnych w polu TargetNetAddress przekierowania RDP kontrolowanym przez serwer. Ta wartość jest kopiowana do ServerHostname klienta, a gdy klient łączy się przez proxy HTTP, jest zapisywana bezpośrednio w linii żądania CONNECT proxy i nagłówku Host przez http_proxy_connect() bez filtrowania. Złośliwy lub skompromitowany serwer RDP może wysłać spreparowany PDU przekierowania zawierający osadzone znaki kontrolne, aby wstrzyknąć dowolne nagłówki/żądania do żądania CONNECT proxy HTTP.
- CVE-2026-66402Krytyczne
FreeRDP przed wersją 3.29.0 (dotknięte wersje <= 3.28.0) zawiera wiele słabości weryfikacji tożsamości certyfikatu TLS w tls_verify_certificate(), tls_match_hostname() i x509_utils_get_dns_names(). Ponieważ FreeRDP wykonuje niestandardowe dopasowywanie Common Name i DNS SAN zamiast używać API OpenSSL uwzględniających długość, (1) obcina wartości DNS SAN przy osadzonych bajtach NUL (akceptując np. 'victim.example\0.attacker.example' jako 'victim.example'), (2) akceptuje pasujący Common Name nawet gdy obecne są niepasujące wpisy DNS SAN, oraz (3) akceptuje cele w postaci literałów IP poprzez dopasowanie DNS/CN bez porównywania iPAddress SAN. W zaufanym lub błędnie wydanym łańcuchu certyfikatów atakujący mogący przedstawić taki certyfikat może ominąć weryfikację tożsamości serwera, osłabiając uwierzytelnianie TLS serwera.
- CVE-2026-64620Krytyczne
Przepełnienie bufora sterty w FreeRDP przed wersją 3.28.0 (dotknięte <=3.27.1) w funkcji crypto_rsa_common(). Funkcja zapisuje wynik potęgowania modularnego do bufora wyjściowego przed sprawdzeniem granic, co pozwala na zapisanie danych poza buforem.
Oryginalny opis (angielski, źródło NVD)
FreeRDP before 3.22.0 contains a use-after-free vulnerability in dvcman_channel_close and dvcman_call_on_receive due to improper synchronization of channel_callback access. A malicious RDP server can trigger a race condition by sending DYNVC_DATA and DYNVC_CLOSE messages concurrently, causing heap-use-after-free in the drdynvc client thread and potentially enabling remote code execution or denial of service.

