CVE-2026-109247
NiskieCVSS 3.1Streszczenie
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.
Ocena ryzyka
Złośliwy serwer RDP może spowodować ujawnienie dowolnych lokalnych plików czytelnych dla użytkownika klienta. Stanowi to poważne ryzyko naruszenia poufności danych.
Rekomendacja
Zaktualizuj FreeRDP do wersji 3.32.0 (lub nowszej). Do czasu aktualizacji unikaj łączenia się z niezaufanymi serwerami RDP i korzystania z funkcji schowka.
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-109248Średnie
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.
Oryginalny opis (angielski, źródło NVD)
FreeRDP before 3.32.0 contains a path traversal vulnerability in convert_filedescriptors_to_file_list() in winpr/libwinpr/clipboard/synthetic_file.c, which concatenates server-supplied cFileName values from FileGroupDescriptorW clipboard data into the published local file:// URI without rejecting '/' or '..' sequences. A malicious RDP server can supply '../' sequences so the user's next clipboard paste copies an arbitrary local file readable by the client user instead of the expected remote file.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

