CVE-2026-55648
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 37 - wyżej niż 37% wszystkich znanych CVE
Streszczenie
FreeRDP przed wersją 3.27.0 zawiera podatność w freerdp_image_copy_from_icon_data w libfreerdp/codec/color.c, gdzie obliczenie nWidth pomnożone przez nHeight pomnożone przez FreeRDPGetBytesPerPixel(format) jest wykonywane w arytmetyce 32-bitowej. Złośliwy serwer RDP może wysłać aktualizację RAIL TS_ICON_INFO o wymiarach takich jak 32768 na 32768 i 32 bity na piksel, co powoduje zawinięcie obliczenia rozmiaru, omijając sprawdzenie granic cbBitsColor przed odczytem przez freerdp_image_copy_no_overlap danych ikony kontrolowanych przez atakującego. Dotyczy to klientów RemoteApp korzystających z podatnej ścieżki biblioteki, podczas gdy xfreerdp ma zabezpieczenie po stronie wywołującego. Problem naprawiono w wersji 3.27.0.
Ocena ryzyka
Ryzyko obejmuje możliwość odczytu danych poza buforem, co może prowadzić do awarii klienta lub ujawnienia danych z pamięci, a także potencjalnego wykonania kodu w kontekście klienta.
Rekomendacja
Zaleca się aktualizację FreeRDP do wersji 3.27.0 lub nowszej, która zawiera poprawkę. Należy również monitorować aktualizacje RAIL od serwerów RDP pod kątem podejrzanych wymiarów.
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-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.
- CVE-2026-55191Krytyczne
W FreeRDP przed wersją 3.27.0 klienci negocjujący RDPGFX AVC444 obliczają rozmiar alokacji YUV444 przy użyciu 32-bitowego mnożenia w avc444_ensure_buffer. Złośliwy serwer RDP może podać wymiary powierzchni, dla których iloczyn piDstStride i padDstHeight zawija się do małej wartości, powodując alokację zbyt małego bufora. Może to doprowadzić do awarii klienta i potencjalnego wykonania kodu.
- CVE-2026-73242Krytyczne
FreeRDP, implementacja protokołu Remote Desktop Protocol, przed wersją 3.30.0 zawiera podatność w funkcji kerberos_DecryptMessage, która nie ogranicza kontrolowanego przez peera pola EC w tokenie GSS Wrap przed użyciem go w offsetach wskaźników IOV. Złośliwy peer RDP może wywołać odczyty poza zakresem i zapisy w miejscu podczas deszyfrowania Kerberos w CredSSP/NLA.
Oryginalny opis (angielski, źródło NVD)
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.27.0, freerdp_image_copy_from_icon_data in libfreerdp/codec/color.c calculates nWidth multiplied by nHeight multiplied by FreeRDPGetBytesPerPixel(format) in 32-bit arithmetic. A malicious RDP server can send a RAIL TS_ICON_INFO update with dimensions such as 32768 by 32768 and 32 bits per pixel so the required-size calculation wraps, bypassing the cbBitsColor source bounds check before freerdp_image_copy_no_overlap reads attacker-controlled icon data. This affects RemoteApp clients using the vulnerable library path, while xfreerdp has a caller-side mitigation. This issue is fixed in version 3.27.0.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

