Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessOperate or compromise RDP server
-
DeliveryCraft truncated planar bitmap with overreporting control byte
-
ExploitLure or redirect victim into connecting via RDP
-
ExecutionClient initiates session and receives crafted surface update
-
Persistplanar_decompress_plane_rle reads beyond pSrcData
-
ImpactClient crash or adjacent memory contents disclosed to server
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 | The victim FreeRDP client must actively initiate or be redirected to an RDP connection with a malicious or attacker-controlled RDP server - the server is the attacker's platform, not the client. No special client-side configuration is required; the vulnerability is triggered during normal planar bitmap decompression, which is part of standard RDP display processing. Exploitation is limited by the UI:R requirement: a user must connect to the malicious server, meaning passive internet exposure alone is not sufficient - active user interaction or a redirect/MITM is necessary. The vulnerability affects the client-side decode path only; RDP servers running FreeRDP are not affected by this issue. |
| Impact | The CVSS 3.1 vector AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:L scores at 5.4 Medium, which appropriately reflects the attack's dependency on user interaction - the victim must actively connect to the malicious RDP server. The confidentiality impact is rated Low (adjacent memory disclosure only, not arbitrary read-anywhere), and availability impact is Low (client crash, not a persistent service disruption). No EPSS data was provided in the source intelligence, and neither a CISA KEV listing nor public proof-of-concept exploit code was identified, which aligns with the moderate base score suggesting this is currently a theoretical rather than actively weaponized risk. The practical exploitation barrier is the social engineering or man-in-the-middle requirement to redirect a victim's RDP session to an attacker-controlled server. Organizations that permit RDP connections to external or untrusted servers face meaningfully elevated risk. The absence of an integrity impact and the scoped nature of the out-of-bounds read (no confirmed code execution path) reduce urgency relative to a full remote code execution class vulnerability. Overall, this is a genuine medium-priority issue: upgrade before exposure to untrusted RDP infrastructure. |
| Exploit ScenarioDerived | An attacker sets up a rogue RDP server and tricks a FreeRDP client user into connecting - via phishing, DNS poisoning, or a man-in-the-middle attack on an unencrypted RDP session. During the RDP session establishment or screen update phase, the server sends a crafted planar bitmap surface update whose final RLE control byte claims, for example, 12 raw bytes but only 2 remain in the packet buffer. The FreeRDP decoder reads the declared 12 bytes, overrunning into adjacent memory, potentially leaking heap contents (session tokens, process memory) back to the attacker or crashing the client process. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 19, 2026
Out-of-bounds read in FreeRDP's planar RLE bitmap decoder allows a malicious RDP server to crash connecting clients and potentially disclose adjacent heap or stack memory. The flaw exists in planar_decompress_plane_rle and planar_decompress_plane_rle_only within libfreerdp/codec/planar.c across all FreeRDP releases prior to 3.29.0. An attacker operating or controlling an RDP server can exploit this by sending a specially truncated planar bitmap or surface update whose RLE control byte claims more raw bytes than the buffer contains, triggering the decoder to read beyond the allocated source buffer. No public exploit code or CISA KEV listing has been identified at time of analysis.
RemediationAI
The primary fix is upgrading to FreeRDP 3.29.0 or later, released at https://github.com/FreeRDP/FreeRDP/releases/tag/3.29.0. The correcting commit is 75a1ec61d444179ea64a4ec0835214cb9c4f7c18, tracked in pull request #13016. If an immediate upgrade is not possible, the most effective compensating control is restricting FreeRDP client connections to only trusted, known-good RDP servers via network policy or allowlisting, since exploitation requires the client to connect to a malicious server. Organizations using certificate-pinning or VPN-gated RDP access to managed infrastructure substantially reduce exposure. Disabling planar bitmap codec negotiation may theoretically mitigate the path but is not documented as a supported configuration flag in available data and could cause compatibility issues - verify with vendor guidance before deploying this as a workaround.
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 RDP planar bitmap codec, which uses run-length encoding (RLE) where each control byte signals how many raw pixel bytes follow (0-15). The vulnerable functions planar_decompress_plane_rle and planar_decompress_plane_rle_only in libfreerdp/codec/planar.c validated that the control byte itself was present in the buffer but omitted a corresponding bounds check verifying that the number of raw bytes declared by that control byte (cRawBytes) also fit within the remaining source buffer. This is a classic CWE-125 (Out-of-bounds Read) pattern: a length field is trusted without validation of the declared payload extent. The commit diff confirms the fix introduces a check_source_available() helper that computes the current offset into pSrcData and asserts len + required does not exceed SrcSize before any dereference. Both the RLE-only path and the standard RLE path received the same missing validation at two distinct read sites each (pixel and deltaValue reads). The flaw is entirely within the codec layer, with no scope change to other processes or systems.
Know when the next one hits your stack
- 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
AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:L
Attacker controls the server (PR:N); victim must connect (UI:R); only adjacent memory leaks (C:L) with no write primitive (I:N).
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
1DescriptionCVE.org
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.29.0, planar_decompress_plane_rle and planar_decompress_plane_rle_only in libfreerdp/codec/planar.c verify that a control byte exists but do not verify that the source buffer contains the zero to fifteen raw bytes declared by that control byte. A malicious RDP server can send a truncated planar bitmap or surface update whose final control byte claims additional raw bytes, causing the decoder to read beyond pSrcData while processing a color plane. This can crash the client and may disclose adjacent memory. This issue is fixed in version 3.29.0.
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.
Same weakness CWE-125 – Out-of-bounds Read
View allSame technique Buffer Overflow
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| SUSE Liberty Linux 10 | Fixed |
EUVD-2026-62673
NVD
CVE.org
EPSS
GitHub
VulDB
Exploit-DB