CVE-2026-64621
Medium
Elevated severity or exploit probability.
CVSS breakdown
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:H
| Attack Vector | L | Local |
| Attack Complexity | L | Low |
| Privileges Required | N | None |
| User Interaction | R | Required |
| Scope | U | Unchanged |
| Confidentiality | L | Low |
| Integrity | H | High |
| Availability | H | High |
Timeline
- 2026-07-20 — Published (NVD)
- 2026-07-28 — Last modified (NVD)
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.
Affected
References
- https://github.com/FreeRDP/FreeRDP/commit/1f7a716d39b5605bb8a83b0c3c97a6ce386609ef
- exploit https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-f27x-frr8-j9hc
- https://www.vulncheck.com/advisories/freerdp-before-double-free-via-selectedmonitors
- exploit https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-f27x-frr8-j9hc