Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious .msrcIncident invitation and password
-
ExploitDeliver file to victim via email or share
-
ExecutionVictim opens file in xfreerdp
-
ImpactHeap out-of-bounds read crashes client
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK
1 technique across 1 tactic: Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the victim to open an attacker-supplied Windows Remote Assistance invitation file (.msrcIncident) in the FreeRDP client (xfreerdp), along with the accompanying password that decrypts the ConnectionString2 blob parsed by freerdp_assistance_parse_all_elements_of(). Limiting factors: this is a local, file-parsing attack (AV:L) that triggers before any RDP connection is made, so it cannot be reached by merely connecting to a server; it depends on social engineering the user into opening the crafted invitation (UI required); and affected builds are FreeRDP 3.0.0 through before 3.32.0. The impact is a client crash (denial of service) only. |
| Impact | This is a client-side denial-of-service issue with a deliberately modest real-world priority. The CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P, VA:H with VC:N and VI:N) scores 6.8 (Medium) and is internally consistent with the description: exploitation is local, requires the victim to open an attacker-supplied file, and yields only an availability impact (a crash of xfreerdp), with no confidentiality or integrity impact. No EPSS score, SSVC decision, KEV listing, or public POC was provided, so per the precision rules this is 'no public exploit identified at time of analysis.' The source-code evidence (the patch adds a 'vlen > len' bounds check before strnlen and shrinks the scan window) confirms the root cause is a bounded heap over-read that advances the cursor without reducing remaining length - the kind of bug that reliably crashes rather than leaks or executes code. Signals are coherent, not conflicting, with one caveat: the 'Information Disclosure' tag overstates impact, since CVSS VC:N and the description (crash only, before any RDP connection) indicate availability-only impact. CWE-125 (out-of-bounds read) can in principle leak adjacent heap memory, but there is no evidence here that read data is returned to an attacker, and the vendor-rated VC:N argues against practical disclosure. Net: a legitimate bug worth patching on the normal cycle, but not an emergency given local vector, required user interaction, and no exploitation/POC signals. |
| Exploit ScenarioDerived | An attacker crafts a malicious Windows Remote Assistance invitation (.msrcIncident file) together with a matching password and delivers it to a victim via email or a shared link. When the victim opens the file with xfreerdp, the parser scans past the end of the decrypted ConnectionString2 buffer and the client crashes before any RDP connection is established. No public exploit code was identified at time of analysis, and the outcome is a crash (denial of service), not code execution. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 12, 2026
A heap out-of-bounds read in FreeRDP's Remote Assistance invitation parsing (freerdp_assistance_parse_all_elements_of() in libfreerdp/common/assistance.c) crashes the xfreerdp client when it opens a crafted .msrcIncident file, and it occurs while decrypting and parsing the embedded ConnectionString2 blob, before any RDP session is negotiated. Affected builds are FreeRDP 3.0.0 through versions before 3.32.0, and the CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P, VA:H) reflects an unauthenticated local file-parsing attack that nevertheless requires the victim to be socially engineered into opening an attacker-supplied invitation plus its accompanying password. Impact is limited to a client-side denial of service; no confidentiality or integrity loss is scored, and no public exploit code or CISA KEV entry was identified at time of analysis. A vendor patch restoring the remaining-length accounting is available in the 3.32.0 release.
RemediationAI
Upgrade FreeRDP to 3.32.0 or later; the vendor-released patch is the 3.32.0 release containing commit 2a737ce14dfee036a12d2d3e87473ace3e20349b, and the advisory at https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-gvq8-v2fm-ffxv identifies the fixed version, so rebuilding any client that statically links libfreerdp (for example xfreerdp packages shipped by distributions) is required rather than swapping the binary alone. If immediate upgrade is not possible, the effective stopgap is to prevent the parsing path from being reached at all: instruct users never to open .msrcIncident invitation files from untrusted sources, and where feasible remove or block the Remote Assistance file association so a double-click cannot launch xfreerdp against a hostile file; the trade-off is loss of the remote-assistance help-desk workflow, and users may still be able to invoke xfreerdp manually with /assistance, so restrict who can run the client. Network controls are of limited value here because the crash triggers during local file parsing before any RDP connection is attempted, so perimeter filtering or port 3389 restrictions will not mitigate it; host-based controls that quarantine .msrcIncident attachments at the mail gateway are higher leverage but only cover email delivery, not file shares or downloads. Note that the upstream fix also adds mandatory return-value checking across assistance.c, so any downstream patch that only re-adds the length bound without the bound check may be incomplete.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
FreeRDP implements the Microsoft Remote Assistance workflow, in which a helper receives an .msrcIncident invitation file containing an encrypted ConnectionString2 blob that must be decrypted with a shared password before its key/value elements are extracted. The vulnerable routine, freerdp_assistance_parse_all_elements_of(), walks this decrypted buffer element by element, advancing a parsing cursor after each key/value pair but failing to shrink the remaining buffer length accordingly; the fix commit 2a737ce14dfee036a12d2d3e87473ace3e20349b changes strnlen(data, len) to strnlen(data, len - vlen) and adds a vlen > len bound check so the scan window can never extend past the decrypted buffer. This is a classic CWE-125 out-of-bounds read: the parser trusts its internal length bookkeeping rather than recomputing it from the consumed offset, so a malformed file can make string-scanning functions read past the heap allocation. The same commit also sprinkles WINPR_ATTR_NODISCARD annotations across assistance.c to force callers to check parse results, indicating the maintainers treated unchecked length handling as a systemic weakness in this file. The CPE cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:* confirms the flaw lives in the core FreeRDP library rather than a platform-specific front end, so any client built on libfreerdp 3.0.x-3.31.x inherits the parsing path.
Know when Freerdp gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Victim must open a local crafted file (AV:L, UI:R, PR:N); the over-read only crashes the client, so C:N/I:N and A:H.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
FreeRDP 3.0.0 before 3.32.0 contains a heap out-of-bounds read in freerdp_assistance_parse_all_elements_of() because it advances its parsing cursor without reducing the remaining length, letting the scan window exceed the decrypted ConnectionString2 buffer. Attackers can supply a crafted .msrcIncident invitation file and password that crash xfreerdp when opened, before any RDP connection.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Use-after-free in FreeRDP xf_clipboard_format_equal before 3.23.0. Clipboard format comparison uses freed memory. Fifth
Use-after-free in FreeRDP xf_AppUpdateWindowFromSurface before 3.23.0. Surface-to-window update triggers memory corrupti
Use-after-free in FreeRDP xf_SetWindowMinMaxInfo before version 3.23.0. X11 client window management triggers memory cor
Use-after-free in FreeRDP xf_cliprdr_provide_data clipboard handling before 3.23.0. Clipboard data exchange triggers mem
FreeRDP IRP thread handler has a use-after-free where the IRP is freed by Complete() then accessed on the error path. Fi
FreeRDP drive read heap overflow when server-controlled read length exceeds IRP output buffer. Fixed in 3.20.1. PoC avai
FreeRDP client before 3.20.1 has a heap buffer overflow in AUDIN format processing. A malicious RDP server can corrupt m
Use-after-free in FreeRDP xf_AppUpdateWindowFromSurface before 3.23.0. Different code path from CVE-2026-25953. PoC and
FreeRDP is a free implementation of the Remote Desktop Protocol. Rated critical severity (CVSS 9.8), this vulnerability
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical
EUVD-2026-97693
GHSA-jp53-9rp8-7w3q
NVD
CVE.org
EPSS
Exploit-DB