Описание
Security update for freerdp
This update for freerdp fixes the following issues:
Update to version 3.24.2.
Security issues fixed:
- CVE-2026-25941: out-of-bounds read in the FreeRDP client RDPGFX channel (bsc#1258919).
- CVE-2026-25942: buffer overflow of global array in
xf_rail_server_execute_result(bsc#1258920). - CVE-2026-25952: heap use-after-free in
xf_SetWindowMinMaxInfo(bsc#1258921). - CVE-2026-25953: heap use-after-free in
xf_AppUpdateWindowFromSurface(bsc#1258923). - CVE-2026-25954: heap use-after-free in
xf_rail_server_local_move_size(bsc#1258924). - CVE-2026-25955: heap use-after-free in
xf_AppUpdateWindowFromSurface(bsc#1258973). - CVE-2026-25959: heap use-after-free in
xf_cliprdr_provide_data_(bsc#1258976). - CVE-2026-25997: heap use-after-free in
xf_clipboard_format_equal(bsc#1258977). - CVE-2026-26271: buffer overread in FreeRDP icon processing (bsc#1258979).
- CVE-2026-26955: out-of-bounds write in FreeRDP clients using the GDI surface pipeline (bsc#1258982).
- CVE-2026-26965: out-of-bounds write in FreeRDP client RLE planar decode path (bsc#1258985).
- CVE-2026-29774: heap buffer overflow in the FreeRDP client's AVC420/AVC444 YUV-to-RGB conversion path (bsc#1259689).
- CVE-2026-29775: out-of-bounds access in the FreeRDP client bitmap cache subsystem (bsc#1259684).
- CVE-2026-29776: integer underflow in
update_read_cache_bitmap_order(bsc#1259692). - CVE-2026-31806: heap buffer overflow in
nsc_process_message(bsc#1259653). - CVE-2026-31883: heap buffer overwrite due to a
size_tunderflow in the IMA-ADPCM and MS-ADPCM audio decoders (bsc#1259679). - CVE-2026-31884: division by zero in MS-ADPCM and IMA-ADPCM decoders (bsc#1259680).
- CVE-2026-31885: out-of-bounds read in MS-ADPCM and IMA-ADPCM decoders (bsc#1259686).
- CVE-2026-31897: out-of-bounds read in
freerdp_bitmap_decompress_planar(bsc#1259693). - CVE-2026-33952: client-side crash due to
WINPR_ASSERT()failure inrts_read_auth_verifier_no_checks()(bsc#1261196). - CVE-2026-33977: client-side crash due to
WINPR_ASSERT()failure in IMA ADPCM audio decoder (bsc#1261198). - CVE-2026-33982: heap buffer overread in in
winpr_aligned_offset_recalloc(bsc#1261222). - CVE-2026-33983: undefined behavior and resource exhaustion via 80 billion iteration loop in
progressive_decompress_tile_upgrade(bsc#1261200). - CVE-2026-33984: heap buffer overflow in ClearCodec
resize_vbar_entry(bsc#1261211). - CVE-2026-33985: heap out-of-bounds read in
clear_decompress_glyph_data(bsc#1261217). - CVE-2026-33986: heap out-of-bounds write due to H.264 YUV buffer dimension desync (bsc#1261223).
- CVE-2026-33987: heap out-of-bounds write due to persistent cache bmpSize desync (bsc#1261226).
- CVE-2026-33995: double-free vulnerability in
kerberos_AcceptSecurityContextandkerberos_InitializeSecurityContextA(bsc#1261227).
Other updates and bugfixes:
-
Version 3.24.2:
- [channels,video] fix wrong cast (#12511)
- [codec,openh264] reject encoder ABI mismatch on runtime-loaded library (#12510)
- [client,sdl] create a copy of rdpPointer (#12512)
- [codec,video] properly pass intermediate format (#12518)
- [utils, signal] lazily initialize Windows CRITICAL_SECTION to match POSIX static mutex behavior (#12520) winpr: improve libunwind backtraces (#12530)
- [server,shadow] remember selected caps (#12528)
- Zero credential data before free in NLA and NTLM context (#12532)
- [server,proxy] ignore missing client in input channel (#12536)
- [server,proxy] ignore rdpdr messages (#12537)
- [winpr,sspi] improve kerberos logging (#12538)
- Codec fixes (#12542)
-
Version 3.24.1:
- [warnings] fix various sign and cast warnings (#12480)
- [client,x11] start with xfc->remote_app = TRUE; (#12491)
- Sam file read regression fix (#12484)
- [ncrypt,smartcardlogon] support ECC keys in PKCS#11 smartcard enumeration (#12490)
- Fix: memory leak in rdp_client_establish_keys() (#12494)
- Fix memory leak in freerdp_settings_int_buffer_copy() on error paths (libfreerdp/core/settings.c) (#12486)
- Code Cleanups (#12493)
- Fix: memory leak in PCSC_SCardListReadersW() (#12495)
- [channels,telemetry] use dynamic logging (#12496)
- [channel,gfx] use generic plugin log (@12498, #12499)
- [channels,audin] set error when audio_format_read fails (#12500)
- [channels,video] unify error handling (#12502)
- Fastpath fine grained lock (#12503)
- [core,update] make the PlaySound callback non-mandatory (#12504)
- Refinements: RPM build updates, FIPS improvements (#12506)
-
Version 3.24.0:
- Completed the [[nodiscard]] marking of the API to warn about problematic
- unchecked use of functions
- Added full C23 support (default stays at C11) to allow new compilers
- to do stricter checking
- Improved X11 and SDL3 clients
- Improved smartcard support
- proxy now supports RFX graphics mode
- Attribute nodiscard related chanes (#12325, #12360, #12395, #12406, #12421, #12426, #12177, #12403, #12405, #12407, #12409, #12408, #12412, #12413)
- c23 related improvements (#12368, #12371, #12379, #12381, #12383, #12385, #12386, #12387, #12384)
- Generic code cleanups (#12382, #12439, #12455, #12462, #12399, #12473) [core,utils] ignore NULL values in remove_rdpdr_type (#12372)
- [codec,fdk] revert use of WinPR types (#12373)
- [core,gateway] ignore incomplete rpc header (#12375, #12376)
- [warnings] make function declaration names consistent (#12377)
- [libfreerdp] Add new define for logon error info (#12380)
- [client,x11] improve rails window locking (#12392)
- Reload fix missing null checks (#12396)
- Bounds checks (#12400)
- [server,proxy] check for nullptr before using scard_call_context (#12404)
- [uwac] fix rectangular glitch around surface damage regions (#12410)
- Address various error handling inconsistencies (#12411)
- [core,server] Improve WTS API locking (#12414)
- Address some GCC compile issues (#12415, #12420)
- Winpr atexit (#12416)
- [winpr,smartcard] fix function pointer casts (#12422)
- Xf timer fix (#12423)
- [client,sdl] workaround for wlroots compositors (#12425)
- [client,sdl] fix SdlWindow::query (#12378)
- [winpr,smartcard] fix PCSC_ReleaseCardContext (#12427)
- [client,x11] eliminate obsolete compile flags (#12428)
- [client,common] skip sending input events when not connected (#12429)
- Input connected checks (#12430)
- Floatbar and display channel improvements (#12431)
- [winpr,platform] fix WINPR_ATTR_NODISCARD definition (#12432)
- [client] Fix writing of gatewayusagemethod to .rdp files (#12433)
- Nodiscard finetune (#12435)
- [core] fix missing gateway credential sync (#12436)
- [client,sdl3] limit FREERDP_WLROOTS_HACK (#12441)
- [core,settings] Allow FreeRDP_instance in setter (#12442)
- [codec,h264] make log message trace (#12444)
- X11 rails improve (#12440)
- [codec,nsc] limit copy area in nsc_process_message (#12448)
- Proxy support RFX and NSC settings (#12449)
- [client,common] display a shortened help on parsing issues (#12450)
- [winpr,smartcard] refine locking for pcsc layer (#12451)
- [codec,swscale] allow runtime loading of swscale (#12452)
- Swscale fallback (#12454)
- Sdl multi scaling support (#12456)
- [packaging,flatpak] update runtime and dependencies (#12457)
- [codec,video] add doxygen version details (#12458)
- [github,templates] update templates (#12460)
- [client,sdl] allow FREERDP_WLROOTS_HACK for all sessions (#12461)
- [warnings,nodiscard] add log messages for failures (#12463)
- [gdi,gdi] ignore empty rectangles (#12467)
- Smartcard fix smartcard-login, pass rdpContext for abort (#12466)
- [winpr,smartcard] fix compiler warnings (#12469)
- [winpr,timezone] fix search for transition dates (#12468)
- [client,common] improve /p help (#12471)
- Scard logging refactored (#12472)
- [emu,scard] fix smartcard emulation (#12475)
- Sdl null cursor (#12474)
-
Version 3.23.0:
- Sdl cleanup (#12202)
- [client,sdl] do not apply window offset (#12205)
- [client,sdl] add SDL_Error to exceptions (#12214)
- Rdp monitor log (#12215)
- [winpr,smartcard] implement some attributes (#12213)
- [client,windows] Fix return value checks for mouse event functions (#12279)
- [channels,rdpecam] fix sws context checks (#12272)
- [client,windows] Enhance error handling and context validation (#12264)
- [client,windows] Add window handle validation in RDP_EVENT_TYPE_WINDOW_NEW (#12261)
- [client,sdl] fix multimon/fullscreen on wayland (#12248)
- Vendor by app (#12207)
- [core,gateway] relax TSG parsing (#12283)
- [winpr,smartcard] simplify PCSC_ReadDeviceSystemName (#12273)
- [client,windows] Implement complete keyboard indicator synchronization (#12268)
- Fixes more more more (#12286)
- Use application details for names (#12285)
- warning cleanups (#12289)
- Warning cleanup (#12291)
- [client,windows] Enhance memory safety with NULL checks and resource protection (#12271)
- [client,x11] apply /size:xx% only once (#12293)
- Freerdp config test (#12295)
- [winpr,smartcard] fix returned attribute length (#12296)
- [client,SDL3] Fix properly handle smart-sizing with fullscreen (#12298)
- [core,test] fix use after free (#12299)
- Sign warnings (#12300)
- [cmake,compiler] disable -Wjump-misses-init (#12301)
- [codec,color] fix input length checks (#12302)
- [client,sdl] improve cursor updates, fix surface sizes (#12303)
- Sdl fullscreen (#12217)
- [client,sdl] fix move constructor of SdlWindow (#12305)
- [utils,smartcard] check stream length on padding (#12306)
- [android] Fix invert scrolling default value mismatch (#12309)
- Clear fix bounds checks (#12310)
- Winpr attr nodiscard fkt ptr (#12311)
- [codec,planar] fix missing destination bounds checks (#12312)
- [codec,clear] fix destination checks (#12315)
- NSC Codec fixes (#12317)
- Freerdp api nodiscard (#12313)
- [allocations] fix growth of preallocated buffers (#12319)
- Rdpdr simplify (#12320)
- Resource fix (#12323)
- [winpr,utils] ensure message queue capacity (#12322)
- [server,shadow] fix return and parameter checks (#12330)
- Shadow fixes (#12331)
- [rdtk,nodiscard] mark rdtk API nodiscard (#12329)
- [client,x11] fix XGetWindowProperty return handling (#12334)
- Win32 signal (#12335)
- [channel,usb] fix message parsing and creation (#12336)
- [cmake] Define WINPR_DEFINE_ATTR_NODISCARD (#12338)
- Proxy config fix (#12345)
- [codec,progressive] refine progressive decoding (#12347)
- [client,sdl] fix sdl_Pointer_New (#12350)
- [core,gateway] parse [MS-TSGU] 2.2.10.5 HTTP_CHANNEL_RESPONSE_OPTIONAL (#12353)
- X11 kbd sym (#12354)
- Windows compile warning fixes (#12357,#12358,#12359)
Список пакетов
openSUSE Leap 16.0
Ссылки
- SUSE Security Ratings
- SUSE Bug 1258919
- SUSE Bug 1258920
- SUSE Bug 1258921
- SUSE Bug 1258923
- SUSE Bug 1258924
- SUSE Bug 1258973
- SUSE Bug 1258976
- SUSE Bug 1258977
- SUSE Bug 1258979
- SUSE Bug 1258982
- SUSE Bug 1258985
- SUSE Bug 1259653
- SUSE Bug 1259679
- SUSE Bug 1259680
- SUSE Bug 1259684
- SUSE Bug 1259686
- SUSE Bug 1259689
- SUSE Bug 1259692
- SUSE Bug 1259693
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Versions on the 2.x branch prior to to 2.11.8 and on the 3.x branch prior to 3.23.0 have an out-of-bounds read vulnerability in the FreeRDP client's RDPGFX channel that allows a malicious RDP server to read uninitialized heap memory by sending a crafted WIRE_TO_SURFACE_2 PDU with a `bitmapDataLength` value larger than the actual data in the packet. This can lead to information disclosure or client crashes when a user connects to a malicious server. Versions 2.11.8 and 3.23.0 fix the issue.
Затронутые продукты
Ссылки
- CVE-2026-25941
- SUSE Bug 1258919
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, `xf_rail_server_execute_result` indexes the global `error_code_names[]` array (7 elements, indices 0-6) with an unchecked `execResult->execResult` value received from the server, allowing an out-of-bounds read when the server sends an `execResult` value of 7 or greater. Version 3.23.0 fixes the issue.
Затронутые продукты
Ссылки
- CVE-2026-25942
- SUSE Bug 1258920
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, `xf_SetWindowMinMaxInfo` dereferences a freed `xfAppWindow` pointer because `xf_rail_get_window` in `xf_rail_server_min_max_info` returns an unprotected pointer from the `railWindows` hash table, and the main thread can concurrently delete the window (via a window delete order) while the RAIL channel thread is still using the pointer. Version 3.23.0 fixes the issue.
Затронутые продукты
Ссылки
- CVE-2026-25952
- SUSE Bug 1258921
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, `xf_AppUpdateWindowFromSurface` reads from a freed `xfAppWindow` because the RDPGFX DVC thread obtains a bare pointer via `xf_rail_get_window` without any lifetime protection, while the main thread can concurrently delete the window through a fastpath window-delete order. Version 3.23.0 fixes the issue.
Затронутые продукты
Ссылки
- CVE-2026-25953
- SUSE Bug 1258923
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, `xf_rail_server_local_move_size` dereferences a freed `xfAppWindow` pointer because `xf_rail_get_window` returns an unprotected pointer from the `railWindows` hash table, and the main thread can concurrently delete the window (via a window delete order) while the RAIL channel thread is still using the pointer. Version 3.23.0 fixes the issue.
Затронутые продукты
Ссылки
- CVE-2026-25954
- SUSE Bug 1258924
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, `xf_AppUpdateWindowFromSurface` reuses a cached `XImage` whose `data` pointer references a freed RDPGFX surface buffer, because `gdi_DeleteSurface` frees `surface->data` without invalidating the `appWindow->image` that aliases it. Version 3.23.0 fixes the issue.
Затронутые продукты
Ссылки
- CVE-2026-25955
- SUSE Bug 1258973
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, `xf_cliprdr_provide_data_` passes freed `pDstData` to `XChangeProperty` because the cliprdr channel thread calls `xf_cliprdr_server_format_data_response` which converts and uses the clipboard data without holding any lock, while the X11 event thread concurrently calls `xf_cliprdr_clear_cached_data` -> `HashTable_Clear` which frees the same data via `xf_cached_data_free`, triggering a heap use after free. Version 3.23.0 fixes the issue.
Затронутые продукты
Ссылки
- CVE-2026-25959
- SUSE Bug 1258976
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, `xf_clipboard_format_equal` reads freed `lastSentFormats` memory because `xf_clipboard_formats_free` (called from the cliprdr channel thread during auto-reconnect) frees the array while the X11 event thread concurrently iterates it in `xf_clipboard_changed`, triggering a heap use after free. Version 3.23.0 fixes the issue.
Затронутые продукты
Ссылки
- CVE-2026-25997
- SUSE Bug 1258977
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, a buffer overread in `freerdp_image_copy_from_icon_data()` (libfreerdp/codec/color.c) can be triggered by crafted RDP Window Icon (TS_ICON_INFO) data. The bug is reachable over the network when a client processes icon data from an RDP server (or from a man-in-the-middle). Version 3.23.0 fixes the issue.
Затронутые продукты
Ссылки
- CVE-2026-26271
- SUSE Bug 1258979
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, a malicious RDP server can trigger a heap buffer overflow in FreeRDP clients using the GDI surface pipeline (e.g., `xfreerdp`) by sending an RDPGFX ClearCodec surface command with an out-of-bounds destination rectangle. The `gdi_SurfaceCommand_ClearCodec()` handler does not call `is_within_surface()` to validate the command rectangle against the destination surface dimensions, allowing attacker-controlled `cmd->left`/`cmd->top` (and subcodec rectangle offsets) to reach image copy routines that write into `surface->data` without bounds enforcement. The OOB write corrupts an adjacent `gdiGfxSurface` struct's `codecs*` pointer with attacker-controlled pixel data, and corruption of `codecs*` is sufficient to reach an indirect function pointer call (`NSC_CONTEXT.decode` at `nsc.c:500`) on a subsequent codec command - full instruction pointer (RIP) control demonstrated in exploitability harness. Users should upgrade to version 3.23.0 to receive a patch.
Затронутые продукты
Ссылки
- CVE-2026-26955
- SUSE Bug 1258982
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, in the RLE planar decode path, `planar_decompress_plane_rle()` writes into `pDstData` at `((nYDst+y) * nDstStep) + (4*nXDst) + nChannel` without verifying that `(nYDst+nSrcHeight)` fits in the destination height or that `(nXDst+nSrcWidth)` fits in the destination stride. When `TempFormat != DstFormat`, `pDstData` becomes `planar->pTempData` (sized for the desktop), while `nYDst` is only validated against the **surface** by `is_within_surface()`. A malicious RDP server can exploit this to perform a heap out-of-bounds write with attacker-controlled offset and pixel data on any connecting FreeRDP client. The OOB write reaches up to 132,096 bytes past the temp buffer end, and on the brk heap (desktop ≤ 128x128), an adjacent `NSC_CONTEXT` struct's `decode` function pointer is overwritten with attacker-controlled pixel data - control-flow-relevant corruption (function pointer overwritten) demonstrated under deterministic heap layout (`nsc->decode = 0xFF414141FF414141`). Version 3.23.0 fixes the vulnerability.
Затронутые продукты
Ссылки
- CVE-2026-26965
- SUSE Bug 1258985
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, a client-side heap buffer overflow occurs in the FreeRDP client's AVC420/AVC444 YUV-to-RGB conversion path due to missing horizontal bounds validation of H.264 metablock regionRects coordinates. In yuv.c, the clamp() function (line 347) only validates top/bottom against the surface/YUV height, but never checks left/right against the surface width. When avc420_yuv_to_rgb (line 67) computes destination and source pointers using rect->left, it performs unchecked pointer arithmetic that can reach far beyond the allocated surface buffer. A malicious server sends a WIRE_TO_SURFACE_PDU_1 with AVC420 codec containing a regionRects entry where left greatly exceeds the surface width (e.g., left=60000 on a 128px surface). The H.264 bitstream decodes successfully, then yuv420_process_work_callback calls avc420_yuv_to_rgb which computes pDstPoint = pDstData + rect->top * nDstStep + rect->left * 4, writing 16-byte SSE vectors 1888+ bytes past the allocated heap region. This vulnerability is fixed in 3.24.0.
Затронутые продукты
Ссылки
- CVE-2026-29774
- SUSE Bug 1259689
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, a client-side heap out-of-bounds read/write occurs in FreeRDP's bitmap cache subsystem due to an off-by-one boundary check in bitmap_cache_put. A malicious server can send a CACHE_BITMAP_ORDER (Rev1) with cacheId equal to maxCells, bypassing the guard and accessing cells[] one element past the allocated array. This vulnerability is fixed in 3.24.0.
Затронутые продукты
Ссылки
- CVE-2026-29775
- SUSE Bug 1259684
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, Integer Underflow in update_read_cache_bitmap_order Function of FreeRDP's Core Library This vulnerability is fixed in 3.24.0.
Затронутые продукты
Ссылки
- CVE-2026-29776
- SUSE Bug 1259692
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, the gdi_surface_bits() function processes SURFACE_BITS_COMMAND messages sent by the RDP server. When the command is handled using NSCodec, the bmp.width and bmp.height values provided by the server are not properly validated against the actual desktop dimensions. A malicious RDP server can supply crafted bmp.width and bmp.height values that exceed the expected surface size. Because these values are used during bitmap decoding and memory operations without proper bounds checking, this can lead to a heap buffer overflow. Since the attacker can also control the associated pixel data transmitted by the server, the overflow may be exploitable to overwrite adjacent heap memory. This vulnerability is fixed in 3.24.0.
Затронутые продукты
Ссылки
- CVE-2026-31806
- SUSE Bug 1259653
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, a size_t underflow in the IMA-ADPCM and MS-ADPCM audio decoders leads to heap-buffer-overflow write via the RDPSND audio channel. In libfreerdp/codec/dsp.c, the IMA-ADPCM and MS-ADPCM decoders subtract block header sizes from a size_t variable without checking for underflow. When nBlockAlign (received from the server) is set such that size % block_size == 0 triggers the header parsing at a point where size is smaller than the header (4 or 8 bytes), the subtraction wraps size to ~SIZE_MAX. The while (size > 0) loop then continues for an astronomical number of iterations. This vulnerability is fixed in 3.24.0.
Затронутые продукты
Ссылки
- CVE-2026-31883
- SUSE Bug 1259679
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, division by zero in MS-ADPCM and IMA-ADPCM decoders when nBlockAlign is 0, leading to a crash. In libfreerdp/codec/dsp.c, both ADPCM decoders use size % block_size where block_size = context->common.format.nBlockAlign. The nBlockAlign value comes from the Server Audio Formats PDU on the RDPSND channel. The value 0 is not validated anywhere before reaching the decoder. When nBlockAlign = 0, the modulo operation causes a SIGFPE (floating point exception) crash. This vulnerability is fixed in 3.24.0.
Затронутые продукты
Ссылки
- CVE-2026-31884
- SUSE Bug 1259680
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, there is an out-of-bounds read in MS-ADPCM and IMA-ADPCM decoders due to unchecked predictor and step_index values from input data. This vulnerability is fixed in 3.24.0.
Затронутые продукты
Ссылки
- CVE-2026-31885
- SUSE Bug 1259686
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, there is an out-of-bounds read in freerdp_bitmap_decompress_planar when SrcSize is 0. The function dereferences *srcp (which points to pSrcData) without first verifying that SrcSize >= 1. When SrcSize is 0 and pSrcData is non-NULL, this reads one byte past the end of the source buffer. This vulnerability is fixed in 3.24.0.
Затронутые продукты
Ссылки
- CVE-2026-31897
- SUSE Bug 1259693
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.24.2, an unvalidated auth_length field read from the network triggers a WINPR_ASSERT() failure in rts_read_auth_verifier_no_checks(), causing any FreeRDP client connecting through a malicious RDP Gateway to crash with SIGABRT. This is a pre-authentication denial of service affecting all FreeRDP clients using RPC-over-HTTP gateway transport. The assertion is active in default release builds (WITH_VERBOSE_WINPR_ASSERT=ON). This issue has been patched in version 3.24.2.
Затронутые продукты
Ссылки
- CVE-2026-33952
- SUSE Bug 1261196
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.24.2, a malicious RDP server can crash the FreeRDP client by sending audio data in IMA ADPCM format with an invalid initial step index value (>= 89). The unvalidated step index is read directly from the network and used to index into a 89-entry lookup table, triggering a WINPR_ASSERT() failure and process abort via SIGABRT. This affects any FreeRDP client that has audio redirection (RDPSND) enabled, which is the default configuration. This issue has been patched in version 3.24.2.
Затронутые продукты
Ссылки
- CVE-2026-33977
- SUSE Bug 1261198
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.24.2, there is a heap-buffer-overflow READ vulnerability at 24 bytes before the allocation, in winpr_aligned_offset_recalloc(). This issue has been patched in version 3.24.2.
Затронутые продукты
Ссылки
- CVE-2026-33982
- SUSE Bug 1261222
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.24.2, progressive_decompress_tile_upgrade() detects a mismatch via progressive_rfx_quant_cmp_equal() but only emits WLog_WARN, execution continues. The wrapped value (247) is used as a shift exponent, causing undefined behavior and an approximately 80 billion iteration loop (CPU DoS). This issue has been patched in version 3.24.2.
Затронутые продукты
Ссылки
- CVE-2026-33983
- SUSE Bug 1261200
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.24.2, in resize_vbar_entry() in libfreerdp/codec/clear.c, vBarEntry->size is updated to vBarEntry->count before the winpr_aligned_recalloc() call. If realloc fails, size is inflated while pixels still points to the old, smaller buffer. On a subsequent call where count <= size (the inflated value), realloc is skipped. The caller then writes count * bpp bytes of attacker-controlled pixel data into the undersized buffer, causing a heap buffer overflow. This issue has been patched in version 3.24.2.
Затронутые продукты
Ссылки
- CVE-2026-33984
- SUSE Bug 1261211
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.24.2, pixel data from adjacent heap memory is rendered to screen, potentially leaking sensitive data to the attacker. This issue has been patched in version 3.24.2.
Затронутые продукты
Ссылки
- CVE-2026-33985
- SUSE Bug 1261217
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.24.2, in yuv_ensure_buffer() in libfreerdp/codec/h264.c, h264->width and h264->height are updated before the reallocation loop. If any winpr_aligned_recalloc() call fails, the function returns FALSE but width/height are already inflated. This issue has been patched in version 3.24.2.
Затронутые продукты
Ссылки
- CVE-2026-33986
- SUSE Bug 1261223
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.24.2, in persistent_cache_read_entry_v3() in libfreerdp/cache/persistent.c, persistent->bmpSize is updated before winpr_aligned_recalloc(). If realloc fails, bmpSize is inflated while bmpData points to the old buffer. This issue has been patched in version 3.24.2.
Затронутые продукты
Ссылки
- CVE-2026-33987
- SUSE Bug 1261226
Описание
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.24.2, a double-free vulnerability in kerberos_AcceptSecurityContext() and kerberos_InitializeSecurityContextA() (WinPR, winpr/libwinpr/sspi/Kerberos/kerberos.c) can cause a crash in any FreeRDP clients on systems where Kerberos and/or Kerberos U2U is configured (Samba AD member, or krb5 for NFS). The crash is triggered during NLA connection teardown and requires a failed authentication attempt. This issue has been patched in version 3.24.2.
Затронутые продукты
Ссылки
- CVE-2026-33995
- SUSE Bug 1261227