CVE-2026-121397
ŚrednieCVSS 4.3Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 19 - wyżej niż 19% wszystkich znanych CVE
Streszczenie
FreeRDP w wersjach przed 3.32.2 zawiera podatność przepełnienia bufora sterty (over-read) w funkcji save_png_to_buffer(). Złośliwy serwer RDP może przesłać dane schowka DIB 16 bpp, oferując obraz CF_DIB BI_BITFIELDS, który podczas konwersji do PNG osadza bajty sterty klienta w obrazie schowka, ujawniając pamięć.
Ocena ryzyka
Atakujący może wyciec zawartość pamięci klienta, potencjalnie ujawniając dane wrażliwe. Może to naruszyć poufność informacji przetwarzanych na stacji roboczej.
Rekomendacja
Zaktualizuj FreeRDP do wersji 3.32.2 lub nowszej. Unikaj łączenia się z niezaufanymi serwerami RDP i ogranicz kopiowanie danych ze schowka zdalnego.
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-121953Krytyczne
FreeRDP w wersjach przed 3.32.2 zawiera podatność use-after-free w dynamicznym kanale wirtualnym rdpgfx po stronie klienta. Zduplikowany kanał o nowym ChannelId nadpisuje pojedynczy slot callbacku listenera, który funkcja rdpgfx_on_close zwalnia bez wyczyszczenia. Złośliwy serwer RDP może otworzyć i zamknąć taki kanał, a następnie wysłać PDU na oryginalnym kanale, powodując awarię klienta lub potencjalne wykonanie kodu.
- CVE-2026-121952Krytyczne
FreeRDP w wersjach przed 3.32.2 ma podatność out-of-bounds write w proxy, ponieważ funkcja rdp_read_bitmap_cache_v2_capability_set odrzuca tylko wartości numCellCaches większe niż 5, podczas gdy tablica komórek bitmap cache v2 jest później odwoływana pod stałymi indeksami od 0 do 4. Klient łączący się z proxy może zadeklarować mniej niż pięć komórek cache w Confirm Active, powodując uszkodzenie sterty, wyciek danych sterty do backendu lub awarię.
- CVE-2026-91949Krytyczne
Serwer FreeRDP w wersjach przed 3.31.0 zawiera podatność obejścia negocjacji protokołu, która pozwala nieuwierzytelnionym atakującym na ustanowienie połączeń RDSTLS pomimo polityki serwera wyłączającej je. Atakujący mogą wysyłać niekompatybilne żądania protokołu, otrzymywać błędy negocjacji, a następnie zakończyć uzgadnianie TLS i wejść w RDSTLS, aby obejść ograniczenia transportu przed uwierzytelnianiem.
- CVE-2026-63633Krytyczne
W FreeRDP przed wersją 3.28.0 funkcja freerdp_dsp_decode_opus wywołuje Stream_EnsureRemainingCapacity na buforze kontekstu, mimo że opus_decode zapisuje dane do bufora dostarczonego przez wywołującego. Złośliwy serwer RDP negocjujący WAVE_FORMAT_OPUS może spowodować zapis dużych ramek poza przydzielony bufor, co prowadzi do uszkodzenia sterty klienta, awarii i potencjalnego wykonania kodu.
- CVE-2026-55194Krytyczne
W FreeRDP przed wersją 3.27.0 funkcja rpc_client_recv_fragment zapewnia pojemność bufora na podstawie tylko deklarowanego przez serwer alloc_hint, a nie rzeczywistej długości StubLength. Złośliwy serwer TS Gateway może wysłać odpowiedź z małym alloc_hint i dużym frag_length, powodując zapis danych poza bufor pdu->s. Może to doprowadzić do awarii klienta i potencjalnego wykonania kodu.
Oryginalny opis (angielski, źródło NVD)
FreeRDP before 3.32.2 contains a heap buffer over-read vulnerability in save_png_to_buffer() that allows malicious RDP servers to leak client memory by sending 16 bpp DIB clipboard data. Attackers can offer a CF_DIB BI_BITFIELDS image that, when converted to PNG for a local application, embeds client heap bytes into the clipboard image.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

