CVE-2026-109248
ŚrednieCVSS 6.5Streszczenie
FreeRDP 3.0.0 do 3.32.0 zawiera podatność polegającą na odczycie poza zakresem sterty w funkcji WinPR clipboard convert_filedescriptors_to_file_list(), która skanuje kontrolowany przez serwer FILEDESCRIPTORW cFileName za pomocą nieograniczonych wywołań _wcschr() i count_special_chars() bez gwarancji zakończenia NUL. Złośliwy serwer RDP może wysłać blob FILEDESCRIPTORW o nieparzystej długości w CB_FORMAT_DATA_RESPONSE, powodując awarię klientów X11, Wayland i SDL, gdy użytkownik wkleja skopiowane z serwera pliki.
Ocena ryzyka
Ryzyko polega na możliwości zdalnego wywołania awarii klientów przez złośliwy serwer RDP podczas operacji wklejania, co może prowadzić do przerwania działania lub potencjalnego wykorzystania.
Rekomendacja
Zaleca się aktualizację FreeRDP do wersji 3.32.0 lub nowszej, która zawiera poprawkę tej podatności.
Inne podatności w FreeRDP
Zobacz wszystkie- CVE-2026-109257Średnie
FreeRDP przed wersją 3.32.0 zawiera podwójne zwolnienie pamięci w funkcji nsc_context_initialize_encode(), które pozostawia wiszące wskaźniki po częściowej awarii wzrostu bufora. Atakujący używający spreparowanego klienta RDP mogą wynegocjować NSCodec z dużą geometrią pulpitu, aby wywołać awarię alokacji, powodując awarię serwera podczas zamykania kontekstu.
- CVE-2026-109256Średnie
FreeRDP w wersjach od 3.10.0 do 3.32.2 zawiera przepełnienie bufora na stercie w funkcji zwrotnej WinPR png_write_data, która zapisuje poza bufor po awarii realokacji. Złośliwy peer schowka RDP może dostarczyć duży obraz CF_DIB, który wywołuje kopiowanie poza zakres podczas konwersji PNG, powodując awarię klienta.
- CVE-2026-109255Średnie
FreeRDP w wersjach od 3.0.0 przed 3.32.0 zawiera podatność na obcięcie liczby całkowitej w funkcji license_check_stream_length, która umożliwia złośliwemu serwerowi RDP wywołanie przepełnienia bufora na stercie na klientach 32-bitowych. Atakujący mogą wysłać spreparowany SERVER_LICENSE_REQUEST z dużą wartością scopeCount, która omija kontrolę długości, powodując zapisy poza zakresem prowadzące do odmowy usługi lub zdalnego wykonania kodu.
- CVE-2026-109254Średnie
FreeRDP w wersjach od 2.1.0 przed 3.32.0 zawiera podatność use-after-free w statycznej ścieżce rozłączania kanału rdpsnd, która zwalnia formaty audio i urządzenie bez dołączania do wątku play_thread. Złośliwy serwer RDP może rozłączyć się podczas asynchronicznego odtwarzania Wave2 przetwarzającego zakolejkowane PDU, powodując odczyt zwolnionej pamięci sterty przez klienta i awarię.
- CVE-2026-109253Średnie
FreeRDP w wersjach od 3.9.0 przed 3.32.0 zawiera podatność na odczyt poza zakresem w skalarach NDR RDPEAR, które sprawdzają długość wartości przed spożyciem dopełnienia wyrównania. Złośliwe lub skompromitowane serwery RDP mogą wysyłać spreparowane niewyrównane ładunki RDPEAR, takie jak komunikaty CreateApReqAuthenticatorReq, do klientów używających Remote Credential Guard, powodując nadmierne odczyty i potencjalnie awarię procesu klienta.
- CVE-2026-109252Średnie
FreeRDP w wersjach od 3.9.0 przed 3.32.0 zawiera podatność na dereferencję wskaźnika NULL w czytniku NDR RDPEAR, która umożliwia złośliwym serwerom spowodowanie awarii klientów poprzez skrócone dane KERB_RPC_INTERNAL_NAME. Atakujący mogą wysłać CreateApReqAuthenticatorReq z NameCount równym dwa lub więcej, kończący się przed wskaźnikiem Names, powodując, że sprzątanie dereferencjonuje pustą bazę i kończy klienta.
- CVE-2026-109251Średnie
FreeRDP przed wersją 3.32.0 przechowuje dostarczony przez serwer podpisany początek geometrii MS-RDPEGT bez sprawdzenia w niepodpisanej współrzędnej powierzchni wideo, więc ograniczenie blit w gdiVideoShowSurface() zawija się w arytmetyce 32-bitowej i jest pomijane. Złośliwy serwer RDP może wysłać ujemną wartość topLevelLeft do klientów łączących się z /video, powodując zapis poza zakresem zdekodowanych danych obrazu H.264 lub przerwanie działania klienta.
- CVE-2026-109250Średnie
FreeRDP w wersjach od 3.0.0 przed 3.32.0 zawiera podatność na przepełnienie bufora na stercie w funkcji collect_keys(), która umożliwia lokalnym atakującym zapis poza stałą tablicą 64 wpisów podczas wyliczania kluczy PKCS#11. Atakujący kontrolujący tokeny smartcard mogą przedstawić więcej niż 64 obiekty kluczy publicznych w wielu slotach, aby uszkodzić pamięć sterty danymi CKA_ID i CKA_LABEL wybranymi przez atakującego podczas logowania przez smartcard.
- CVE-2026-109249Średnie
FreeRDP 3.0.0 do 3.32.0 zawiera podatność polegającą na odczycie poza zakresem sterty w funkcji freerdp_assistance_parse_all_elements_of(), ponieważ przesuwa kursor parsowania bez zmniejszania pozostałej długości, co pozwala oknie skanowania przekroczyć odszyfrowany bufor ConnectionString2. Atakujący może dostarczyć spreparowany plik zaproszenia .msrcIncident i hasło, które powodują awarię xfreerdp po otwarciu, przed nawiązaniem połączenia RDP.
- CVE-2026-109247Niskie
FreeRDP w wersjach przed 3.32.0 zawiera podatność path traversal w funkcji convert_filedescriptors_to_file_list() w pliku winpr/libwinpr/clipboard/synthetic_file.c. Złośliwy serwer RDP może dostarczyć sekwencje '../', przez co następne wklejenie ze schowka skopiuje dowolny lokalny plik użytkownika zamiast oczekiwanego pliku zdalnego.
Oryginalny opis (angielski, źródło NVD)
FreeRDP 3.0.0 before 3.32.0 contains a heap out-of-bounds read in the WinPR clipboard function convert_filedescriptors_to_file_list(), which scans a server-controlled FILEDESCRIPTORW cFileName with unbounded _wcschr() and count_special_chars() calls without a NUL-termination guarantee. A malicious RDP server can send an odd-length FILEDESCRIPTORW blob in a CB_FORMAT_DATA_RESPONSE, crashing X11, Wayland, and SDL clients when the user pastes server-copied files.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

