CVE-2026-67306
ŚrednieCVSS 5.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 20 - wyżej niż 20% wszystkich znanych CVE
Streszczenie
FreeRDP w wersjach do 3.28.0 zawiera podatność na odczyt poza zakresem w dekoderach bitmap RDP6 planar RLE: planar_decompress_plane_rle i planar_decompress_plane_rle_only w libfreerdp/codec/planar.c. Tylko 1-bajtowy bajt kontrolny jest sprawdzany pod kątem granic; kolejne 0–15 bajtów surowych deklarowanych przez atakującego są odczytywane bez walidacji, czy bufor źródłowy je zawiera. Złośliwy lub skompromitowany serwer RDP może wysłać obciętą bitmapę zakodowaną planar lub aktualizację powierzchni, powodując odczyt poza końcem bufora źródłowego przez klienta.
Ocena ryzyka
Podatność może prowadzić do ujawnienia wrażliwych danych z pamięci klienta lub do awarii klienta FreeRDP, co może zakłócić sesje zdalne.
Rekomendacja
Zaleca się aktualizację FreeRDP do wersji 3.29.0 lub nowszej, która zawiera poprawkę.
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 versions 3.28.0 and earlier contain an out-of-bounds read vulnerability in the RDP6 planar RLE bitmap decoder functions planar_decompress_plane_rle and planar_decompress_plane_rle_only in libfreerdp/codec/planar.c. Only the 1-byte control byte is bounds-checked; the subsequent 0–15 attacker-declared raw bytes are read without validating that the source buffer contains them. A malicious or compromised RDP server can send a truncated planar-encoded bitmap or surface update (reachable via both the Bitmap Update PDU and RDPGFX Surface Command paths) that causes the client to read past the end of the source buffer. The issue is fixed in FreeRDP 3.29.0.

