Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessLure victim to malicious RDP server
-
DeliveryClient initiates graphics pipeline session
-
ExploitSend crafted RDPGFX_MAP_SURFACE_TO_WINDOW_PDU with oversized dimensions
-
ExecutionTrigger OOB read in android_UpdateWindowFromSurface
-
ImpactDisclose adjacent heap memory or crash 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's FreeRDP Android client to establish an RDP session to an attacker-controlled or compromised server that negotiates the graphics pipeline (RDPGFX) channel; the malicious server then supplies unvalidated mappedWidth/mappedHeight in an RDPGFX_MAP_SURFACE_TO_WINDOW_PDU. LIMITING FACTORS: this is a server-to-client (reverse) attack, so the attacker cannot reach arbitrary victims - the user must be induced to connect to the malicious endpoint, and only the FreeRDP Android client (versions before 3.32.1) with graphics-pipeline/surface-to-window updates in use is affected. Impact is bounded to heap memory disclosure and client crashes; there is no code execution or write primitive described. |
| Impact | This is a client-side heap out-of-bounds read (CWE-125) in the FreeRDP Android client, triggered by a MALICIOUS RDP SERVER rather than by an inbound attacker - a key framing that lowers real-world urgency. The provided CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N, score 6.9) rates it Medium with only VC:L (low confidentiality) and no integrity or availability impact, consistent with an information-disclosure/crash read primitive. No EPSS score, no CISA KEV listing, and no public POC are present in the supplied data, so all three exploitation-pressure signals point to LOW immediate risk. CONFLICT TO NOTE: the supplied 4.0 vector asserts UI:N, but the vulnerability can only be reached after the victim actively connects their Android client to an attacker-controlled or compromised RDP server - a required user action that in practice should be scored as user interaction and that materially limits mass exploitation; verify the UI metric with the vendor advisory (GHSA-262p-h989-vmpv). Likewise the vector records VA:N despite the description explicitly mentioning crashes, suggesting the availability impact was underscored. Net: a legitimate memory-disclosure bug worth patching, but not a widespread-exploitation emergency - far below a network-reachable, server-side unauthenticated RCE of the same CVSS band. |
| Exploit ScenarioDerived | An attacker stands up (or compromises) an RDP server and lures an Android FreeRDP user into connecting to it - for example via a malicious connection file, phishing, or a hijacked corporate gateway. Once the client connects, the server sends a crafted RDPGFX_MAP_SURFACE_TO_WINDOW_PDU with oversized mappedWidth/mappedHeight values, causing android_UpdateWindowFromSurface to copy heap memory beyond the surface allocation, crashing the app or leaking adjacent heap contents back to the attacker. No public exploit identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 21, 2026
Heap out-of-bounds read in the FreeRDP Android client before 3.32.1 allows a malicious or compromised RDP server to read past allocated surface buffers by supplying unvalidated mappedWidth and mappedHeight values in an RDPGFX_MAP_SURFACE_TO_WINDOW_PDU. Only Android client builds of FreeRDP that negotiate the graphics pipeline (RDPGFX) channel are affected, and because the attack direction is server-to-client, a victim must first be induced to connect to the hostile endpoint - there is no way for an attacker to reach arbitrary hosts directly. Successful exploitation yields limited heap memory disclosure and possible client crashes, with no code execution or write primitive described; no public exploit code or confirmed active exploitation (CISA KEV) was identified at time of analysis, and the CVSS:4.0 score of 6.9 is driven by low confidentiality impact combined with network reachability.
RemediationAI
Vendor-released patch: FreeRDP 3.32.1 - upgrade Android clients to 3.32.1 or later, and verify the build version shipped in your APK distribution channel since Android users often receive stale binaries from third-party stores (see https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-262p-h989-vmpv). Where immediate upgrading is not possible, disable the graphics pipeline (RDPGFX) channel in the client, e.g. by launching with /gfx:off or setting the equivalent configuration option, which removes the vulnerable surface-to-window code path at the cost of noticeably reduced rendering performance and loss of RemoteFX/GFX features; alternatively pin connections to a hard-coded allowlist of trusted RDP servers via MDM configuration so users cannot be lured to attacker-controlled endpoints, though this does not protect against a compromised legitimate server. Because exploitation requires the user to initiate a session with a hostile server, awareness controls (blocking unsolicited .rdp files and untrusted gateway addresses) reduce exposure but should be treated as secondary to patching. Monitor for client crashes during RDP sessions, which may indicate attempted heap over-reads.
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 is an open-source implementation of the Remote Desktop Protocol, and its Android client renders the remote desktop through the RDPGFX dynamic virtual channel, which transports graphics-pipeline commands such as surface creation and surface-to-window mapping. The vulnerability is CWE-125 (Out-of-bounds Read): the client trusts the mappedWidth and mappedHeight fields carried in an RDPGFX_MAP_SURFACE_TO_WINDOW_PDU without validating them against the dimensions of the already-allocated surface buffer, so android_UpdateWindowFromSurface subsequently copies data using the attacker-supplied geometry and walks past the end of the heap allocation. The root cause is missing bounds/dimension checks on untrusted server-controlled protocol metadata - a classic trust-boundary failure in a client parser where the server is implicitly treated as well-behaved. Per the CPE entry (cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:*) all FreeRDP versions prior to 3.32.1 are in scope, though the vulnerable code path is specific to the Android client's graphics-pipeline window-update logic. Because this is a server-to-client attack, exploitation requires the user to establish a session with an attacker-controlled or compromised RDP server that negotiates RDPGFX.
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:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Client must connect to a malicious server so UI:R; no auth to the server (PR:N); impact is heap read disclosure (C:L) plus described crashes (A:L), no integrity.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
FreeRDP before 3.32.1 contains a heap out-of-bounds read vulnerability in the Android client that allows malicious RDP servers to read beyond surface buffers by supplying unvalidated mappedWidth and mappedHeight values. Attackers can send a crafted RDPGFX_MAP_SURFACE_TO_WINDOW_PDU with oversized dimensions, causing android_UpdateWindowFromSurface to copy heap memory beyond the allocation, leading to crashes or memory disclosure.
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.
Related Vulnerabilities in FreeRDP Memory Safety and Certificate Vulnerabilities
View all 7Use-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-106995
GHSA-mp7g-v56c-664p
NVD
CVE.org
EPSS
Exploit-DB