- Top reward
- $1,500
- Top severity paid
- Critical
- Assets in scope
- 11
- Public CVEs
- 190
- Last change
- No changes yet
At a glance
What to know before you start testing.
- Pays from $1,500
- for critical bugs.
- Report on Sorona
- Submit through the program page.
- Partial safe harbor
- Some legal protection; read the terms.
- Publish after a fix
- Coordinate the timing with the company.
Rewards
What Sorona lists as the payout for each severity.
| Severity | Relative size | Reward |
|---|---|---|
| Critical | $1,500+ | |
| High | $700+ | |
| Medium | $300+ | |
| Low |
|
$100 $100 / 1 month Claude Max |
- Safe harbor
-
Partial
Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party, and we do not grant authorization on their behalf.
Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original
Scope
11 assets you may test, 6 excluded.
Web 1
- https://www.freerdp.com
Products and areas 10
- Certificate handling and the trust store, including how a changed or unverifiable server certificate is presented to the user
- Every graphics codec: RemoteFX, NSCodec, the progressive codec, planar and interleaved bitmap compression, ZGFX and the whole GFX pipeline
- SECURITY.md offers two private channels and describes a triage process running to affected-version analysis and a CVE request. It draws no boundary narrower than the FreeRDP tree, so the library, the server implementation and every tool built from the repository are in
- The client binaries the project ships, xfreerdp, the Wayland client and the SDL client, plus their command-line and configuration handling
- The proxy component, which sits between two RDP parties and parses both directions
- The RDP connection sequence in full: X.224, MCS, the capability exchange and everything parsed before a session is established
- The security layers, covering legacy RDP encryption, TLS, CredSSP and NLA, along with the NTLM and Kerberos implementations behind them
- The server-side implementation and the shadow server, which accept connections from untrusted clients
- The virtual channel framework and each channel shipped with it, covering clipboard, drive redirection, printing, smartcard, audio output and input, RAIL, video redirection, serial and parallel ports and USB
- WinPR, the portability layer, including its SSPI, cryptography, registry, string and synchronisation code, which is reachable from parsing paths above it
Out of scope (6)
- A user clicking through a certificate warning the client displayed correctly
- Bugs in Remmina, Apache Guacamole, Proxmox or another downstream product's own code rather than in FreeRDP
- Microsoft's RDP protocol design, as opposed to a defect in this implementation of it
- Reports against an unsupported branch when the same code path is already fixed upstream
- Upstream library defects in OpenSSL, FFmpeg or similar, unless FreeRDP's own use of them is what makes the bug reachable
- Vendor forks of FreeRDP embedded in appliances rather than the upstream repository
Rules
What the policy asks of you, and the bug types it won't reward, quoted from Sorona's policy.
While testing
-
Report privately through one of the two documented channels: the GitHub advisory form on FreeRDP/FreeRDP , where private reporting is enabled, or the address on the policy page encrypted to the published FreeRDP security team GPG key
-
State which side you attacked. A malicious server hitting a client is the dominant shape here, and a client hitting the server implementation is a separate and rarer case
-
Name the codec, channel or PDU involved and attach the bytes. This codebase is large enough that a crash without a component name is hard to route
-
hold the detail until the advisory is public.
Not accepted
-
Bugs in Remmina, Apache Guacamole, Proxmox or another downstream product's own code rather than in FreeRDP
-
Microsoft's RDP protocol design, as opposed to a defect in this implementation of it
-
Vendor forks of FreeRDP embedded in appliances rather than the upstream repository
-
A user clicking through a certificate warning the client displayed correctly
-
Reports against an unsupported branch when the same code path is already fixed upstream
-
Upstream library defects in OpenSSL, FFmpeg or similar, unless FreeRDP's own use of them is what makes the bug reachable
Summarised with AI from the program policy on Sorona, read 12 Nov 2026, and checked word for word against it. Read the original
Changes
Tracked since 11 Nov 2026. Last checked 1 hour ago.
No changes yet. When the rewards or scope move, you will see it here and in the RSS feed.
Public CVEs
Published vulnerabilities in this vendor's products, from the NVD.
| CVE | Summary | Severity | Published |
|---|---|---|---|
| CVE-2026-121963 | FreeRDP before 3.32.2 contains a use-after-free vulnerability in the asynchronous dynamic rdpsnd channel that allows malicious RDP servers to trigger freed callback access by closing the channel with queued audio PDUs. Attackers can send a training PDU then close the channel so the playback thread reads the freed callback in rdpsnd_virtual_channel_write, crashing the client. | High 8.2 | 4 Nov 2026 |
| CVE-2026-121964 | FreeRDP before 3.32.2 contains a heap-based buffer overflow in the RD Gateway RPC client, where rpc_client_recv_fragment writes BIND_ACK and ALTER_CONTEXT_RESP fragments into a persistent PDU stream after checking only total capacity rather than remaining capacity from the current stream position. A malicious or compromised RD Gateway can send crafted RPC fragments with manipulated alloc_hint and | High 8.7 | 4 Nov 2026 |
| CVE-2026-121958 | FreeRDP through 3.32.1 has a heap out-of-bounds write in the RDPGFX client because the delete_surface callback truncates surface hash keys to 16 bits, leaving the surface table inconsistent so HashTable_GetKeys writes past its allocated key array. A malicious or man-in-the-middle RDP server can exploit this by creating surfaceId 0xFFFF, closing the RDPGFX channel, sending repeated DELETESURFACE PD | High 8.7 | 4 Nov 2026 |
| CVE-2026-121959 | FreeRDP before 3.32.2 contains an infinite loop vulnerability in websocket_context_read that fails to handle a zero BIO result with payload outstanding. A malicious RD Gateway can send a truncated WebSocket frame followed by a TLS close_notify, causing a client thread to spin and consume CPU until killed. | High 7.1 | 4 Nov 2026 |
| CVE-2026-121960 | FreeRDP before 3.32.2 contains a denial of service vulnerability in the NLA-enabled shadow server when a CredSSP TSRequest omits negoTokens. Unauthenticated attackers can send a crafted seven-byte TSRequest containing only the version field to trigger a fatal WINPR_ASSERT and abort the server process. | High 8.7 | 4 Nov 2026 |
| CVE-2026-121961 | FreeRDP before 3.32.2 contains a use-after-free vulnerability in the freerdp-proxy DRDYNVC tracker when intercepting the drdynvc channel. A malicious target server can repeatedly send CREATE_REQUEST_PDU for an active channel id, racing front DATA handling to free a borrowed context and crash the proxy process. | High 8.2 | 4 Nov 2026 |
| CVE-2026-121962 | FreeRDP before 3.32.2 contains a heap buffer overflow in transport_default_read_pdu when handling partial Early User Authorization reads during PROTOCOL_HYBRID_EX CredSSP. A malicious RDP server can split the four-byte EUA result into short reads that advance the stream pointer beyond the 16 KiB allocation, causing an out-of-bounds write and client denial of service. | High 7.2 | 4 Nov 2026 |
| CVE-2026-121952 | FreeRDP before 3.32.2 has an out-of-bounds write in the proxy because rdp_read_bitmap_cache_v2_capability_set rejects only numCellCaches values above 5, yet the bitmap cache v2 cell array is later accessed at fixed indices 0 through 4. A client connecting to the proxy can declare fewer than five cell caches in its Confirm Active, causing heap corruption, heap data leakage to the backend, or a cras | Critical 9.3 | 4 Nov 2026 |
| CVE-2026-121953 | FreeRDP before 3.32.2 has a use-after-free in the client's rdpgfx dynamic virtual channel: a duplicate-name channel with a new ChannelId overwrites the listener's single callback slot, which rdpgfx_on_close frees without clearing. A malicious RDP server can open and close such a channel, then send a PDU on the original channel to crash the client or potentially execute code. | Critical 9.3 | 4 Nov 2026 |
| CVE-2026-121954 | FreeRDP before 3.32.2 has a heap out-of-bounds write in the planar codec because freerdp_bitmap_planar_context_reset commits new dimensions before buffer reallocation succeeds, and a failed ResetGraphics is only logged. A malicious RDP server can send an oversized ResetGraphics PDU, then a GFX PLANAR command, to corrupt client heap memory and crash the client. | High 7.1 | 4 Nov 2026 |
| CVE-2026-121955 | FreeRDP before 3.32.2 contains a use-after-free vulnerability in Emulate_SCardReleaseContext that frees the emulated SCardContext before its worker thread is cancelled and joined. A malicious server can send ESTABLISHCONTEXT, a long-timeout GETSTATUSCHANGE, then RELEASECONTEXT smartcard IRPs to corrupt heap memory or crash clients using smartcard emulation. | High 8.7 | 4 Nov 2026 |
| CVE-2026-121956 | FreeRDP before 3.32.2 contains a double free in the WinPR Kerberos SSPI retrieveSomeTgt function, which installs the krb5 default realm into a target principal that has an empty realm without taking ownership of it. Unauthenticated remote clients can send a crafted NLA/CredSSP u2u TGT request whose server-name component contains '@' to corrupt the heap and crash the server process. | High 8.7 | 4 Nov 2026 |
| CVE-2026-121957 | FreeRDP before 3.32.2 contains a use-after-free vulnerability that allows malicious RDP servers to corrupt client memory by racing the RDPGFX ResetGraphics handler against the planar bitmap decoder. Attackers can send ResetGraphics while concurrently sending compressed bitmaps of 32 bpp or more to trigger heap use-after-free or out-of-bounds read/write on shared planar buffers. | High 8.7 | 4 Nov 2026 |
| CVE-2026-121950 | FreeRDP before 3.32.2 does not check the product of surface dimensions in gdi_CreateSurface when handling an RDPGFX CREATE_SURFACE PDU, causing an integer wrap and heap buffer overflow on 32-bit builds and an approximately 4 GiB allocation on 64-bit builds. A malicious RDP server can send a CREATE_SURFACE PDU with width and height 32766 to a connecting client to corrupt heap memory or cause a deni | High 7.1 | 4 Nov 2026 |
| CVE-2026-121951 | FreeRDP 3.0.0 before 3.32.2 server-side RDP peer input parsing skips the six-byte body of a slow-path input event with an unknown message type without checking it lies within the packet's declared length, causing a WinPR stream assertion failure. A remote RDP client with an active session can send a truncated unknown input event to abort assertion-enabled server processes, causing denial of servic | High 8.7 | 4 Nov 2026 |
| CVE-2026-121408 | FreeRDP before 3.32.2 contains a use-after-free in the urbdrc USB redirection channel because FindChannelById returns a channel pointer without a reference and the control-channel close path does not take the device manager's loading_lock. A malicious RDP server can send a control-channel CLOSE_REQUEST while the client announces a USB device, freeing the channel before the announcement thread read | Medium 6.0 | 3 Nov 2026 |
| CVE-2026-121409 | FreeRDP before 3.32.2 contains a denial of service vulnerability that allows malicious servers or unauthenticated peers to abort clients or proxies via oversized X.224 routing tokens. Attackers can send an oversized LoadBalanceInfo in a Server Redirection PDU, or a 240–247 byte token to a FixedTarget freerdp-proxy, triggering a tpdu_write_header assertion that crashes the process. | High 8.2 | 3 Nov 2026 |
| CVE-2026-121410 | FreeRDP before 3.32.2 contains a denial of service vulnerability in the RDPGFX ALPHA WIRETOSURFACE_2 handler that fails to validate zero surface dimensions. A malicious RDP server can send a crafted WIRETOSURFACE_2 PDU with zero width and height, triggering an assertion or division by zero that terminates the client session. | Medium 5.3 | 3 Nov 2026 |
| CVE-2026-121411 | FreeRDP before 3.32.2 fails to bound server-supplied target dimensions and output origin in RDPGFX MAPSURFACETOSCALEDOUTPUT PDUs, allowing malicious RDP servers to abort X11 clients. Attackers can map a surface to oversized scaled output, triggering checked UINT16 cast or freerdp_image_scale stride assertion failures that terminate the client. | Low 2.3 | 3 Nov 2026 |
| CVE-2026-121412 | FreeRDP from 3.0.0 before 3.32.2 contains an uncontrolled resource consumption vulnerability in the proxy that lets connected clients retain heap memory via intercepted DVC message reassembly. Attackers can declare a large DATA_FIRST length and keep sending fragments without completing the message, growing proxy memory proportional to traffic and degrading service. | High 7.1 | 3 Nov 2026 |
| CVE-2026-121402 | FreeRDP before 3.32.2 contains a NULL pointer dereference vulnerability that allows malicious RDP servers to crash xfreerdp clients by sending a zero-width RDPGFX ResetGraphics PDU. The failed resize in gdi_resize_ex leaves the primary display null without ending the session, so a later bitmap update crashes the client in gdi_Bitmap_Paint. | High 7.1 | 3 Nov 2026 |
| CVE-2026-121403 | FreeRDP before 3.32.2 contains a denial of service vulnerability where a malformed drive DEVICE_IOREQUEST with a truncated IRP_MJ_CREATE body silently kills the drive worker. A malicious RDP server can send such an IRP then post further requests that accumulate unbounded in the IrpQueue, exhausting memory and causing session availability loss. | Medium 5.3 | 3 Nov 2026 |
| CVE-2026-121404 | FreeRDP before 3.32.2 contains a denial of service vulnerability in the shadow server that allows authenticated RDP clients to spin server threads by sending zero-length drdynvc DATA PDUs. Attackers can send empty DATA messages on opened audin or rdpgfx channels, so that FreeRDP_WTSVirtualChannelRead never consumes them, consuming full CPU cores until disconnect. | High 7.1 | 3 Nov 2026 |
| CVE-2026-121405 | FreeRDP before 3.32.2 fails to cap the OutputBufferLength in serial device-control IRP requests, allowing malicious servers to trigger excessive memory allocation. Attackers running a server with serial redirection can send an IRP_MJ_DEVICE_CONTROL request with IOCTL_USBPRINT_GET_1284_ID and a near-maximum length to exhaust client memory. | Medium 5.3 | 3 Nov 2026 |
| CVE-2026-121406 | FreeRDP before 3.32.2 allows a client assertion abort because rdpgfx_on_data_received rejects only negative zgfx_decompress status and passes the resulting null output pointer to Stream_StaticConstInit. A malicious RDP server can send a zero-output ZGFX payload on the RDPGFX channel after session activation to terminate the client. | Medium 5.3 | 3 Nov 2026 |
| CVE-2026-121407 | FreeRDP before 3.32.2 contains a denial of service vulnerability in the shadow server's remdesk_server_thread that allows authenticated clients to crash the process via an inverted PDU length check. Attackers can send an 8192-byte remdesk payload declaring an eight-byte PDU length to trigger a fatal Stream_Seek assertion, aborting the server and dropping sessions. | High 7.1 | 3 Nov 2026 |
| CVE-2026-121397 | 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. | Medium 5.3 | 3 Nov 2026 |
| CVE-2026-121398 | FreeRDP before 3.32.2 contains a cross-thread use-after-free vulnerability in the freerdp-proxy dyn-channel-dump module during session teardown. A malicious RDP target can send dynamic channel data while the front client disconnects, letting the client thread read freed ChannelData and crash the proxy process. | High 8.2 | 3 Nov 2026 |
| CVE-2026-121399 | FreeRDP before 3.32.2 contains a memory allocation vulnerability in rdg_receive_packet that allows a malicious RD Gateway to force a 2 GiB client allocation before tunnel authentication. Attackers can send an eight-byte RDG header declaring packet length 0x7FFFFFFF to trigger pre-authentication memory exhaustion and denial of service. | Medium 5.3 | 3 Nov 2026 |
| CVE-2026-121400 | FreeRDP before 3.32.2 contains a denial-of-service vulnerability in rdg_process_control_packet that allows a malicious RD Gateway to exhaust client CPU by sending an incomplete keepalive control packet. Attackers completing the RDG tunnel-open exchange then send an eight-byte header with packetLength 0xFFFF and withhold the body, causing an unbounded no-progress read loop that spins one client thr | High 7.1 | 3 Nov 2026 |
| CVE-2026-121401 | FreeRDP before 3.32.2 contains a denial of service vulnerability where rdg_process_packet dispatches a PKT_TYPE_EXTENDED_AUTH_MSG without verifying negotiated mode or auth context. A malicious or compromised RD Gateway can send the extended-auth packet before tunnel authentication, triggering a null-pointer dereference that crashes the client. | Medium 5.3 | 3 Nov 2026 |
| CVE-2026-121391 | FreeRDP from 3.0.0 before 3.32.2 contains a file descriptor leak in parallel_process_irp_create that fails to close previous descriptors on repeated IRP_MJ_CREATE requests. A hostile RDP server with parallel-device redirection enabled can send repeated CREATE requests to exhaust the client descriptor table and crash the process. | Medium 5.3 | 3 Nov 2026 |
| CVE-2026-121392 | FreeRDP before 3.32.2 contains an improper certificate validation vulnerability in tls_verify_certificate() that accepts Common Name fallback despite non-matching SAN entries and matches IP literals against DNS strings. Man-in-the-middle attackers holding a certificate from a client-trusted CA can bypass server identity checks to intercept RDP sessions, including keystrokes, clipboard, and screen | Critical 9.1 | 3 Nov 2026 |
| CVE-2026-121393 | FreeRDP from 3.0.0 before 3.32.2 contains a denial of service vulnerability that allows malicious RDP servers to abort clients built with verbose WinPR assertions by sending crafted RemoteFX region rectangles. Attackers can supply a rectangle with x set to 65535 alongside a SurfaceBits destination left of 1, triggering a 16-bit coordinate assertion in rfx_process_message that terminates the client | High 7.1 | 3 Nov 2026 |
| CVE-2026-121394 | FreeRDP from 3.11.0 before 3.32.2 contains an assertion failure in the RemoteFX RLGR decoder that allows malicious servers to terminate clients. Attackers controlling an RDP server can send a RemoteFX tileset with RLGR code 32767, triggering a signed narrowing assertion in rfx_rlgr_decode and crashing the client. | High 7.1 | 3 Nov 2026 |
| CVE-2026-121395 | FreeRDP from 3.17.0 before 3.32.2 contains an assertion failure in the RemoteFX differential decoder when verbose WinPR assertions are enabled. A malicious RDP server can send a crafted RemoteFX tile with adjacent LL3 coefficients summing beyond signed 16-bit range to abort the client process. | High 7.1 | 3 Nov 2026 |
| CVE-2026-121396 | FreeRDP clients from 3.0.0 before 3.32.2 built with verbose WinPR assertions contain a reachable assertion in rts_read_auth_verifier triggered by malformed RTS padding. Attackers controlling an RD Gateway can send a crafted RPC-over-HTTP RTS PDU with inconsistent authentication padding to abort the connecting client process. | Medium 5.3 | 3 Nov 2026 |
| CVE-2026-121386 | FreeRDP before 3.32.2 contains a denial of service vulnerability in WinPR's winpr_read_png_from_buffer() and winpr_convert_from_jpeg(), which lack libpng/libjpeg error handling. A malicious RDP server or MITM can offer a malformed PNG or truncated JPEG clipboard payload, causing the client to abort or exit. | High 8.7 | 3 Nov 2026 |
| CVE-2026-121387 | FreeRDP 2.0.0 before 3.32.2 contains an out-of-bounds read vulnerability in freerdp_dsp_decode_gsm610 that allows malicious RDP servers to read past audio buffers by sending truncated GSM610 frames. Attackers can negotiate GSM610 on rdpsnd and send a WAVE2 message shorter than a 33- or 32-byte WAV49 frame to crash the client. | Medium 5.3 | 3 Nov 2026 |
| CVE-2026-121388 | FreeRDP from 3.0.0 before 3.32.2 contains an uncontrolled resource allocation vulnerability that allows malicious RDP servers to force large client allocations through the DRDYNVC DATA_FIRST Length field. Attackers can declare lengths up to 4,294,967,295 bytes on running dynamic channels, causing StreamPool_Take to reserve memory before body validation and exhaust client memory. | High 7.1 | 3 Nov 2026 |
| CVE-2026-121389 | FreeRDP from 3.27.0 before 3.32.2 contains a denial of service vulnerability in rdpdr_dump_packet that allows malicious RDP servers to abort clients by sending malformed RDPDR device-list announcements. Attackers can declare a DeviceDataLength exceeding the received packet, triggering a fatal Stream_Seek assertion when device redirection, TRACE logging, and WinPR assertions are enabled. | Low 2.3 | 3 Nov 2026 |
| CVE-2026-121390 | FreeRDP 3.0.0 before 3.32.2 built with WITH_AAD=ON contains a reachable assertion because its ARM gateway response parser accepts a missing or non-string redirectedServerCert field and passes a null buffer to the certificate parser. A malicious or malformed user-selected gateway can return such a response to abort the client process. | Medium 5.3 | 3 Nov 2026 |
| CVE-2026-111376 | FreeRDP from 3.30.0 before 3.32.0 contains a heap out-of-bounds read vulnerability in the Windows client's CliprdrStream_New that allows malicious RDP servers to trigger invalid memory reads via short clipboard responses. Attackers can answer a FILECONTENTS_SIZE request with a cbRequested of fewer than eight bytes when a user pastes a remote file, crashing the client or corrupting the stream size. | Low 2.3 | 16 Oct 2026 |
| CVE-2026-111377 | FreeRDP from 2.0.0 before 3.32.0 contains an unbounded reassembly vulnerability in WTSProcessChannelData that fails to enforce cumulative fragment limits. Authenticated clients can start a static virtual channel message, withhold the LAST flag, and send endless fragments to exhaust server memory. | High 7.1 | 16 Oct 2026 |
| CVE-2026-111378 | FreeRDP from 3.0.0 before 3.32.0 contains an uncontrolled resource consumption vulnerability in parse_nla_mode_pdu that allows unauthenticated attackers to exhaust server memory. Attackers can complete TLS and stream bytes not beginning with the DER SEQUENCE tag 0x30, causing unbounded receive buffer growth before NLA authentication. | High 8.7 | 16 Oct 2026 |
| CVE-2026-111379 | FreeRDP before 3.32.0 contains a heap buffer overflow vulnerability in persistent_cache_read_entry_v3 that allows local attackers to corrupt memory by supplying a crafted v3 persistent cache file. Attackers can set large width and height values that wrap the size calculation in persist_cache_get_data, causing fread to overflow an undersized buffer and potentially execute code. | High 7.0 | 16 Oct 2026 |
| CVE-2026-111380 | FreeRDP from 3.29.0 before 3.32.0 contains an integer overflow in the Apple audin backends (audin_mac.m, audin_ios.m), which compute the audio queue buffer size as FramesPerPacket * 2 * nChannels in UINT32 arithmetic, bypassing the CVE-2026-91962 fix. A malicious RDP server can send FramesPerPacket of 2^30 in the audin Open PDU to wrap the multiplication, causing undersized AudioQueueAllocateBuffe | High 8.7 | 16 Oct 2026 |
| CVE-2026-111381 | FreeRDP before 3.32.0 contains a heap buffer overflow vulnerability in persistent_cache_read_entry_v2 that allows local attackers to corrupt heap memory via integer wraparound in bitmap size calculation. Attackers can craft a persistent cache v2 file with oversized width and height values that causes mismatched entry size accounting and fixed 16 KiB reads, leading to crashes or code execution when | High 7.0 | 16 Oct 2026 |
| CVE-2026-111382 | FreeRDP before 3.32.0 contains a client-side heap out-of-bounds write vulnerability in general_LumaToYUV444 and general_ChromaV2ToYUV444 that allows malicious RDP servers to corrupt client memory. Attackers can send RDPGFX AVC444 or AVC444v2 frames with odd-height region rects ending at surface height to write past U/V planes, enabling heap corruption and potential code execution. | High 8.7 | 16 Oct 2026 |
| CVE-2026-111373 | FreeRDP before 3.32.0 contains a NULL pointer dereference vulnerability in the websocket transport that allows a malicious gateway to crash clients by sending zero-length pings. When the payload length is zero, websocket_reply_pong passes a nullptr stream to websocket_reply_close, triggering an assertion failure that terminates the client process and causes denial of service. | Medium 6.9 | 16 Oct 2026 |
| CVE-2026-111374 | FreeRDP from 3.30.0 before 3.32.0 contains a resource exhaustion vulnerability in the rdpecam client that lets malicious RDP servers request unadvertised camera media types. Attackers can send a StartStreamsRequest with oversized dimensions to force large pending-sample allocations and reconfigure the local camera through the HAL. | Medium 6.0 | 16 Oct 2026 |
| CVE-2026-111375 | FreeRDP from 3.0.0 before 3.32.0 contains an out-of-bounds read vulnerability in the Windows RAIL client that allows malicious RDP servers to trigger heap over-reads by sending non-NUL-terminated window titles. Attackers can send a full-length WINDOW_ORDER_FIELD_TITLE update that wf_rail_window_common passes to SetWindowTextW, corrupting titles or crashing the client. | Medium 6.3 | 16 Oct 2026 |
| CVE-2026-110836 | FreeRDP from 3.0.0 before 3.32.0 contains an infinite loop vulnerability in http_response_recv() that allows malicious gateways to exhaust client CPU via crafted Content-Type headers. Attackers controlling a gateway can return a nonzero Content-Length with a semicolon-containing unrecognized Content-Type, pinning a client thread at full CPU indefinitely. | High 7.1 | 14 Oct 2026 |
| CVE-2026-110837 | FreeRDP 2.0.0 before 3.32.0, when built with WITH_LAME=ON and WITH_DSP_FFMPEG=OFF, has a heap-based buffer overflow in freerdp_dsp_decode_mp3 because the right-channel PCM pointer is offset by a byte count treated as short elements. A malicious RDP server can send MP3 audio over rdpsnd so decoded samples cross the heap allocation, crashing the client. | Medium 6.1 | 14 Oct 2026 |
| CVE-2026-110838 | FreeRDP shadow server from 3.0.0 before 3.32.0 dispatches input PDUs during the Confirm Active state before authentication, allowing unauthenticated attackers to inject keyboard input. Attackers can negotiate TLS-only RDP and send an input PDU without Confirm Active to inject synthetic keystrokes into the host user's X11 session via XTEST. | High 8.7 | 14 Oct 2026 |
| CVE-2026-110839 | FreeRDP 3.3.0 before 3.32.0, when built with WINPR_UTILS_IMAGE_JPEG=ON, has a heap-based out-of-bounds write in winpr_convert_from_jpeg because grayscale JPEG buffers are sized from one input component rather than three BGR output components. A malicious RDP server can offer a grayscale JPEG via clipboard redirection, corrupting client memory and crashing it when the item is pasted as CF_DIB bitma | High 7.1 | 14 Oct 2026 |
| CVE-2026-110832 | FreeRDP from 2.0.0 before 3.32.0 contains a memory exhaustion vulnerability in wts_read_drdynvc_data_first that allows authenticated clients to force servers to commit large memory allocations. Attackers can send a seven-byte DATA_FIRST message on an opened DVC declaring a large 32-bit length, causing zeroed resident memory growth and server resource exhaustion. | High 7.1 | 14 Oct 2026 |
| CVE-2026-110833 | FreeRDP from 3.0.0-beta1 before 3.32.0 fails to enforce cumulative or absolute size limits when reassembling RDPDR channel fragments in the proxy. Attackers can send a FIRST fragment followed by continuation fragments without LAST, growing per-session heap streams proportional to traffic and exhausting proxy memory. | High 8.2 | 14 Oct 2026 |
| CVE-2026-110834 | FreeRDP from 2.0.0 before 3.32.0 contains a null pointer dereference vulnerability that allows malicious RDP servers to crash clients by sending out-of-lifecycle serial IRPs. Attackers can send IRP_MJ_READ or IRP_MJ_WRITE before create or after close, causing CommReadFile or CommWriteFile to dereference a null handle and terminate clients using Linux serial redirection. | High 7.1 | 14 Oct 2026 |
| CVE-2026-110835 | FreeRDP 3.0.0 before 3.32.0 allows HTTP header injection in its proxy because a lone LF in the target portion of a routing token (Cookie: msts=) is not rejected and is written by http_proxy_connect into the CONNECT request line and Host header. A remote unauthenticated RDP client connecting to a proxy using FixedTarget=false and an upstream HTTP proxy can alter HTTP request/header framing at that | Medium 6.3 | 14 Oct 2026 |
Original policy
Copied from sorona.xyz on 12 Nov 2026. The summaries on this page are made from it; the live page may have changed since.
Skip to content What this pays This project runs no bounty of its own. sorona.xyz pays you directly on qualified, reproduced findings. Severity │ sorona.xyz pays Critical │ $1,500+ High │ $700+ Medium │ $300+ Low │ $100 / 1 month Claude Max Submit a vulnerability CVE history 109 Last 12 months 190 Lifetime Memory safety 55 % Parsing/validation 25 % Denial of service 12 % Info disclosure 8 % Latest advisories Loading the feed Overview FreeRDP is how everything that is not Windows speaks RDP. It is the client engine under Apache Guacamole, Remmina, GNOME Connections, Proxmox consoles and Microsoft's own Windows App on Linux, so one library stands between an untrusted RDP server and a very large number of client machines. The cost of a bug here is a connection to a hostile server taking over the machine that opened it. The record says that surface keeps yielding: 109 advisories in the last twelve months out of 190 published ever, the busiest pipeline in this category. None of them paid anything, so sorona.xyz pays you directly on qualified, reproduced findings. In scope SECURITY.md offers two private channels and describes a triage process running to affected-version analysis and a CVE request. It draws no boundary narrower than the FreeRDP tree, so the library, the server implementation and every tool built from the repository are in The RDP connection sequence in full: X.224, MCS, the capability exchange and everything parsed before a session is established The security layers, covering legacy RDP encryption, TLS, CredSSP and NLA, along with the NTLM and Kerberos implementations behind them Certificate handling and the trust store, including how a changed or unverifiable server certificate is presented to the user Every graphics codec: RemoteFX, NSCodec, the progressive codec, planar and interleaved bitmap compression, ZGFX and the whole GFX pipeline The virtual channel framework and each channel shipped with it, covering clipboard, drive redirection, printing, smartcard, audio output and input, RAIL, video redirection, serial and parallel ports and USB WinPR, the portability layer, including its SSPI, cryptography, registry, string and synchronisation code, which is reachable from parsing paths above it The client binaries the project ships, xfreerdp , the Wayland client and the SDL client, plus their command-line and configuration handling The server-side implementation and the shadow server, which accept connections from untrusted clients The proxy component, which sits between two RDP parties and parses both directions Out of scope Bugs in Remmina, Apache Guacamole, Proxmox or another downstream product's own code rather than in FreeRDP Microsoft's RDP protocol design, as opposed to a defect in this implementation of it Vendor forks of FreeRDP embedded in appliances rather than the upstream repository A user clicking through a certificate warning the client displayed correctly Reports against an unsupported branch when the same code path is already fixed upstream Upstream library defects in OpenSSL, FFmpeg or similar, unless FreeRDP's own use of them is what makes the bug reachable Most-valued findings Memory corruption in a client-side parser fed by a malicious RDP server. This is the dominant class in the project's record and the reason the advisory count is what it is: the victim is whoever opened the connection, and on a gateway deployment that is a machine holding many users' sessions Codec decoder bugs, particularly RemoteFX, the progressive codec and ZGFX, where compressed input drives length and offset arithmetic before anything validates it Virtual channel handling that reaches beyond the channel, above all drive redirection writing outside the shared path and clipboard handling acting on data the remote side chose Anything in the NLA, CredSSP or NTLM path that accepts an authentication result it should reject, since that is the check standing between a hostile server and a credential Certificate validation failures that let a substituted server pass as the expected one, which turns every client-side parser into a remotely reachable target Defects in the server and proxy implementations reachable pre-authentication, a smaller share of the record and a much higher-value one because the listener is exposed rather than the client Any bug that is reachable through Apache Guacamole's RDP backend, because that path puts a client-side parser behind an internet-facing web gateway Program rules Submit through sorona.xyz. This project runs no bounty of its own; we validate, coordinate disclosure with the maintainers, and pay you directly. Report privately through one of the two documented channels: the GitHub advisory form on FreeRDP/FreeRDP , where private reporting is enabled, or [email protected] encrypted to the published FreeRDP security team GPG key The triage process is written down and runs to acknowledgement, assignment of a primary contact, affected-version analysis and a CVE request, so expect the version question early and answer it in the first report State which side you attacked. A malicious server hitting a client is the dominant shape here, and a client hitting the server implementation is a separate and rarer case Name the codec, channel or PDU involved and attach the bytes. This codebase is large enough that a crash without a component name is hard to route Findings in Remmina, Guacamole or another consumer that turn out to be FreeRDP's parsing belong here rather than with the downstream product The project offers credit and a CVE. There is no reward and no reward terms to accept Disclosure Coordinated with the FreeRDP security team and published as a GitHub Security Advisory with a CVE alongside a fixed release. The pipeline runs hot and often ships advisories in batches, so plan for an embargo that ends at the next security release rather than at a fixed day count. Downstream consumers rebundle FreeRDP on their own schedules, which stretches real-world exposure well past the upstream fix; hold the detail until the advisory is public. Safe harbor Sorona will not pursue legal action against you for good-faith research submitted to us in line with this policy. We cannot speak for the upstream project, its vendor, or any third party, and we do not grant authorization on their behalf. You are responsible for understanding and following the laws that apply to you, wherever you are, and for staying within any scope the project has defined. Submit a vulnerability