Description
FreeRDP before 3.29.0 contains a reachable assertion (WINPR_ASSERT(OutputBufferLength == BytesReturned)) in serial_process_irp_device_control() in channels/serial/client/serial_main.c. When serial device redirection is enabled and a server-controlled IRP_MJ_DEVICE_CONTROL request specifies an unsupported IOCTL with a non-zero OutputBufferLength, CommDeviceIoControl() can fail with BytesReturned = 0, causing the mismatch to trigger the assertion and abort the client process (denial of service).
Published: 2026-08-01
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

FreeRDP versions before 3.29.0 contain a reachable assertion in the serial device handling code that triggers when a server sends an unsupported IOCTL request with an incorrect output buffer length. The assertion compares the expected output length to the actual return value; a mismatch causes the client to abort and terminate, resulting in a denial of service. The weakness is a flawed assumption shown by CWE-617, leading to client crash when invalid data is processed.

Affected Systems

The affected product is FreeRDP, a remote desktop protocol client. All releases prior to 3.29.0 are vulnerable when serial device redirection is enabled. No other vendors or product versions are listed.

Risk and Exploitability

The CVSS score of 5.3 indicates moderate severity. The EPSS score is not available, and the vulnerability is not listed in the CISA KEV catalog, indicating no public exploit is known. The likely attack vector is from a remote RDP server that can send a crafted device control request to a FreeRDP client with serial redirection enabled; this inference is based on the description of the trigger conditions.

Generated by OpenCVE AI on August 2, 2026 at 02:56 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to FreeRDP 3.29.0 or later, which removes the faulty assertion
  • If an upgrade is not possible, disable serial device redirection on the client or server to prevent the triggering request from being processed
  • Employ monitoring for abrupt client terminations and apply vendor patches or code changes as available

Generated by OpenCVE AI on August 2, 2026 at 02:56 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Sat, 01 Aug 2026 12:45:00 +0000

Type Values Removed Values Added
Description FreeRDP before 3.29.0 contains a reachable assertion (WINPR_ASSERT(OutputBufferLength == BytesReturned)) in serial_process_irp_device_control() in channels/serial/client/serial_main.c. When serial device redirection is enabled and a server-controlled IRP_MJ_DEVICE_CONTROL request specifies an unsupported IOCTL with a non-zero OutputBufferLength, CommDeviceIoControl() can fail with BytesReturned = 0, causing the mismatch to trigger the assertion and abort the client process (denial of service).
Title FreeRDP before 3.29.0 Denial of Service via serial DeviceControl
First Time appeared Freerdp
Freerdp freerdp
Weaknesses CWE-617
CPEs cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:*
Vendors & Products Freerdp
Freerdp freerdp
References
Metrics cvssV3_1

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

cvssV4_0

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


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-08-01T12:22:18.294Z

Reserved: 2026-07-29T13:04:41.947Z

Link: CVE-2026-67303

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-02T03:00:13Z

Weaknesses