CVE-2026-55193

FreeRDP: Heap-buffer-overflow write in TS Gateway RPC fragment receive due to uncapped bind_ack max_xmit_frag

Published Aug 19, 2026 CVSS 4.0 · 8.7 High EPSS < 1% KEV · Not listed
Description
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.27.0, FreeRDP clients using TS Gateway accept a server-controlled max_xmit_frag value in libfreerdp/core/gateway/rpc_bind.c without bounding it to the 4088-byte ReceiveFragment allocation. A malicious gateway can advertise 65535 and then send a response fragment of the same length, causing rpc_channel_read in libfreerdp/core/gateway/rpc.c to write up to 65535 bytes into the smaller ReceiveFragment buffer. This can crash the client and may permit code execution through attacker-controlled heap corruption. This issue is fixed in version 3.27.0.

Analysis

AI-generated

Technical impact

A heap‑based buffer overflow occurs in FreeRDP clients that use TS Gateway when the server advertises an unbounded max_xmit_frag value. The client copies a response fragment of up to 65535 bytes into a 4088‑byte receive buffer, causing a crash and providing an opportunity for an attacker to corrupt heap state and potentially execute arbitrary code. The issue was addressed in FreeRDP 3.27.0, which bounds max_xmit_frag to the buffer size.

Affected Systems

Affected systems are FreeRDP client installations running any version earlier than 3.27.0 that are configured to communicate through a TS Gateway server. The vulnerability is triggered by a malicious gateway that sends an oversized fragment, so any client that connects to such a gateway is at risk.

Risk and Exploitability

The CVSS score of 8.7 indicates high severity. EPSS score of < 1% indicates a very low probability of exploitation, and the lack of listing in the CISA KEV catalog means no publicly disclosed exploits are currently tracked. The attack requires the attacker to operate a rogue TS Gateway and send a large fragment to a client, so a remote binary exploitation vector exists, with high risk if the client trusts an untrusted gateway.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to FreeRDP 3.27.0 or later, which includes bounds checking on max_xmit_frag.
  • If upgrading is not immediately possible, disable TS Gateway support in the client configuration or ensure the gateway does not advertise max_xmit_frag values larger than 4088 bytes.
  • Verify that only trusted gateways are allowed in your environment and monitor for abnormal large fragment traffic.

Generated by OpenCVE AI on August 25, 2026 at 15:19 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Ubuntu USN Ubuntu USN USN-8561-1 FreeRDP vulnerabilities
History
Type Values Removed Values Added
CPEs cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:*
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}

Type Values Removed Values Added
Weaknesses CWE-120
References
Metrics threat_severity

None

cvssV3_1

{'score': 8.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H'}

threat_severity

Important

Type Values Removed Values Added
First Time appeared Freerdp
Freerdp freerdp
Vendors & Products Freerdp
Freerdp freerdp
Type Values Removed Values Added
Description FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.27.0, FreeRDP clients using TS Gateway accept a server-controlled max_xmit_frag value in libfreerdp/core/gateway/rpc_bind.c without bounding it to the 4088-byte ReceiveFragment allocation. A malicious gateway can advertise 65535 and then send a response fragment of the same length, causing rpc_channel_read in libfreerdp/core/gateway/rpc.c to write up to 65535 bytes into the smaller ReceiveFragment buffer. This can crash the client and may permit code execution through attacker-controlled heap corruption. This issue is fixed in version 3.27.0.
Title FreeRDP: Heap-buffer-overflow write in TS Gateway RPC fragment receive due to uncapped bind_ack max_xmit_frag
Weaknesses CWE-122
References
Metrics cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N'}

Weaknesses
  • CWE-120

    Buffer Copy without Checking Size of Input ('Classic Buffer Overflow')

  • CWE-122

    Heap-based Buffer Overflow

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Aug 27, 2026, 4:25 PM
Reserved
Jun 16, 2026, 3:20 PM
Status
Analyzed
Published
Aug 19, 2026, 6:16 PM
Modified
Oct 26, 2026, 11:10 AM
Severity
Important
Public date
Aug 19, 2026, 5:46 PM