Skip to main content

FreeRDP CVE-2026-69159

| EUVDEUVD-2026-62673 MEDIUM
Out-of-bounds Read (CWE-125)
2026-08-19 security-advisories@github.com
5.4
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Operate or compromise RDP server
  2. Delivery
    Craft truncated planar bitmap with overreporting control byte
  3. Exploit
    Lure or redirect victim into connecting via RDP
  4. Execution
    Client initiates session and receives crafted surface update
  5. Persist
    planar_decompress_plane_rle reads beyond pSrcData
  6. Impact
    Client 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

FreeRDP < 3.29.0

Affected Packages

euvd freerdp fix: 3.29.0

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

Vendor (github) PRIMARY 5.4 MEDIUM
AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:L
vuln.today AI 5.4 MEDIUM

Attacker controls the server (PR:N); victim must connect (UI:R); only adjacent memory leaks (C:L) with no write primitive (I:N).

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:A/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N
SUSE MEDIUM
Red Hat 5.4 MEDIUM

Primary rating from Vendor (github).

CVSS VectorVendor: github

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
Low

Lifecycle Timeline

1
Patch available
Aug 19, 2026 - 19:18 EUVD

DescriptionCVE.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

EPSS Score
0.3%
Top 81% exploitable
Prevalence
Medium
widely used open-source RDP client library across Linux desktop environments
Data Quality
3 sources
Confidence: Low

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
Medium

Priority Score

27
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +27
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Liberty Linux 10 Fixed

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy