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.
Metrics
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:L/I:H/A:HWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| FreeRDP | FreeRDP | < 3.28.0 |
References
- https://github.com/FreeRDP/FreeRDP/commit/1f7a716d39b5605bb8a83b0c3c97a6ce386609efPatch
- https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-f27x-frr8-j9hcExploit, Mitigation, Vendor Advisory
- https://www.vulncheck.com/advisories/freerdp-before-double-free-via-selectedmonitorsPatch, Third Party Advisory
- https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-f27x-frr8-j9hcExploit, Mitigation, Vendor Advisory
Timeline
- Published
- Jul 20, 2026
- Last modified
- Jul 28, 2026
- NVD status
- Analyzed