CVE-2026-109257
ŚrednieCVSS 5.9Streszczenie
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.
Ocena ryzyka
Ryzyko polega na możliwości zdalnego spowodowania awarii serwera RDP, co prowadzi do przerwy w dostępności usług.
Rekomendacja
Zaleca się aktualizację FreeRDP do wersji 3.32.0 lub nowszej.
Inne podatności w FreeRDP
Zobacz wszystkie- 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.
- 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 before 3.32.0 contains a double-free vulnerability in nsc_context_initialize_encode() that leaves dangling plane pointers after a partial buffer growth failure. Attackers using a crafted RDP client can negotiate NSCodec with a large desktop geometry to trigger allocation failure, crashing the server during context teardown.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

