Description
FreeRDP before 3.28.0 (affected 3.x through 3.27.1) contains a double-free vulnerability in freerdp_client_rdp_file_apply_to_settings() (client/common/file.c) when parsing the selectedmonitors field of a .rdp connection file. The MonitorIds array is allocated through the settings object, and a raw non-owning pointer to it is freed on the strtoul error path without clearing settings->MonitorIds, leaving it dangling; at teardown freerdp_settings_free() frees the same buffer again. An attacker who convinces a victim to open a crafted .rdp file with oversized monitor tokens can trigger a size-controlled double-free in any FreeRDP CLI client (xfreerdp/sdl-freerdp/wlfreerdp) in the default configuration.
Published: 2026-07-20
Score: 9.3 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

A double‑free occurs when FreeRDP parses the selectedmonitors field of an .rdp file and frees the MonitorIds buffer on an error path without clearing the pointer. This deallocation bug can lead to memory corruption that, depending on context, may allow an attacker to crash the client or execute arbitrary code. The vulnerability stems from improper memory management and is classified under CWE-415 and CWE-1341.

Affected Systems

FreeRDP command‑line clients—including xfreerdp, sdl‑freerdp, and wlfreerdp—that use versions in the 3.x series prior to 3.28.0 (i.e., 3.x through 3.27.1). These clients process .rdp files and are susceptible to the double‑free when a crafted file is opened.

Risk and Exploitability

The CVSS score of 9.3 reflects the severity of this issue. The EPSS score is <1%, indicating a very low but nonzero probability of exploitation, and the vulnerability is not listed in the CISA KEV catalog. The likely attack vector, based on the description, is a social‑engineering scenario in which an attacker persuades a user to open a malicious .rdp file containing oversized monitor tokens. Once opened, the double‑free is triggered during client teardown, potentially leading to a crash or code execution. The impact is local to the victim’s machine but could be triggered by a remote actor who supplies the file.

Generated by OpenCVE AI on July 30, 2026 at 19:30 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade to FreeRDP 3.28.0 or newer, which contains the double‑free fix.
  • If an immediate upgrade is not possible, disable or restrict parsing of the selectedmonitors field in .rdp files and limit client use to trusted files.
  • Educate users to avoid opening .rdp files from untrusted sources and verify file integrity before launching the client.

Generated by OpenCVE AI on July 30, 2026 at 19:30 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 23 Jul 2026 21:45:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Tue, 21 Jul 2026 00:15:00 +0000

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

None

threat_severity

Important


Mon, 20 Jul 2026 12:15:00 +0000

Type Values Removed Values Added
Description FreeRDP before 3.28.0 (affected 3.x through 3.27.1) contains a double-free vulnerability in freerdp_client_rdp_file_apply_to_settings() (client/common/file.c) when parsing the selectedmonitors field of a .rdp connection file. The MonitorIds array is allocated through the settings object, and a raw non-owning pointer to it is freed on the strtoul error path without clearing settings->MonitorIds, leaving it dangling; at teardown freerdp_settings_free() frees the same buffer again. An attacker who convinces a victim to open a crafted .rdp file with oversized monitor tokens can trigger a size-controlled double-free in any FreeRDP CLI client (xfreerdp/sdl-freerdp/wlfreerdp) in the default configuration.
Title FreeRDP before 3.28.0 Double-Free via selectedmonitors
First Time appeared Freerdp
Freerdp freerdp
Weaknesses CWE-415
CPEs cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:*
Vendors & Products Freerdp
Freerdp freerdp
References
Metrics cvssV3_1

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

cvssV4_0

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


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-07-23T18:52:59.996Z

Reserved: 2026-07-20T11:58:54.524Z

Link: CVE-2026-64621

cve-icon Vulnrichment

Updated: 2026-07-23T18:52:35.724Z

cve-icon NVD

No data.

cve-icon Redhat

Severity : Important

Publid Date: 2026-07-20T12:04:53Z

Links: CVE-2026-64621 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-07-30T19:45:06Z

Weaknesses
  • CWE-1341

    Multiple Releases of Same Resource or Handle

  • CWE-415

    Double Free