Skip to main content

FreeRDP CVE-2026-109251

| EUVDEUVD-2026-97695 MEDIUM
Improper Validation of Array Index (CWE-129)
2026-10-12 VulnCheck GHSA-wv34-x2ff-j6qm
6.0
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Lure victim to malicious RDP server with /video
  2. Delivery
    Send crafted MS-RDPEGT geometry with negative topLevelLeft
  3. Exploit
    Unsigned coordinate wraps, bypassing blit clamp
  4. Execution
    Out-of-bounds write in gdiVideoShowSurface
  5. Impact
    Client abort or H.264 buffer memory corruption

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Array index validation
Exploitation Conditions

Exploitation requires the FreeRDP client to connect using the non-default /video option (MS-RDPEGT video/geometry redirection) to an attacker-controlled or compromised RDP server, and the user must initiate that connection (UI:P). The specific trigger is a server-supplied signed MS-RDPEGT geometry origin with a negative topLevelLeft value, which is stored unchecked in an unsigned video surface coordinate. Limiting factors that reduce realistic risk: this is a server-attacks-client (reverse) scenario rather than a directly reachable service, /video redirection must be explicitly enabled (not default), the victim must choose to connect to the malicious server, and only FreeRDP versions before 3.32.0 are affected.

Impact

This is a medium-severity (CVSS 4.0 base 6.0) client-side flaw in a malicious-server attack model, and the real-world risk is meaningfully lower than the network attack vector alone suggests. While AV:N and PR:N indicate a remote, unauthenticated vector, both AT:P (a specific attack requirement) and UI:P (passive user interaction) materially constrain it: the victim must actively initiate an RDP connection using the non-default /video option to an attacker-controlled or compromised server. There is no CISA KEV listing and no public exploit was identified, so exploitation is not confirmed in the wild; EPSS was not provided in the input but the client-side, victim-must-connect model typically yields low exploitation probability. The documented impact is primarily availability (VA:H - client crash/abort). Note a conflict worth verifying: the description states an out-of-bounds WRITE of decoded H.264 data, which normally implies an integrity/memory-corruption impact, yet the supplied CVSS 4.0 vector rates VI:N (no integrity impact) - this likely understates the ceiling (potential memory corruption leading to code execution) and should be verified with the FreeRDP advisory. Overall this is a legitimate but non-urgent patch-cycle item, better suited to targeted attacks (luring a victim to a rogue server) than widespread automated exploitation.

Exploit ScenarioDerived

An attacker runs or compromises an RDP server and lures a victim into connecting to it with FreeRDP's non-default /video option enabled. The server sends a malicious MS-RDPEGT geometry message carrying a negative topLevelLeft origin; stored unchecked in an unsigned surface coordinate, it wraps in 32-bit arithmetic and bypasses the blit clamp in gdiVideoShowSurface(), producing an out-of-bounds write of decoded H.264 data or a client abort. No public exploit was identified at time of analysis, and success requires the victim to initiate the connection (UI:P) with video redirection active.

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

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

Alert me

AnalysisAIv1 – Oct 12, 2026

Out-of-bounds write in FreeRDP clients running versions before 3.32.0 allows a malicious or compromised RDP server to corrupt client memory when the victim explicitly connects using the non-default /video (MS-RDPEGT) option. The server supplies a signed geometry origin with a negative topLevelLeft value that is stored unchecked in an unsigned surface coordinate, causing the blit clamp in gdiVideoShowSurface() to wrap in 32-bit arithmetic and be skipped, which can result in an out-of-bounds write of decoded H.264 picture data or an abort of the client. No public exploit code or confirmed active exploitation has been identified at time of analysis, and although the CVSS 4.0 base score is 6.0, real-world risk is reduced because /video is off by default and the attack is a reverse server-to-client scenario requiring the user to initiate the connection to the attacker's server.

RemediationAI

Upgrade to FreeRDP 3.32.0 or later, which is the vendor-released patch that validates the signed MS-RDPEGT geometry origin and restores the blit clamp. If immediate upgrade is not possible, avoid launching the client with the non-default /video option, because the vulnerable code path is only reached when MS-RDPEGT video redirection is enabled; this disables H.264 video acceleration and geometry tracking in RDP sessions as a side effect. Also refrain from connecting FreeRDP clients to untrusted or unverified RDP servers, since the attack requires the server to supply the malicious negative topLevelLeft value and the user to initiate the connection. Refer to the GitHub security advisory at https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-grvc-qhhp-7h6m and the VulnCheck advisory at https://www.vulncheck.com/advisories/freerdp-before-3.32.0-out-of-bounds-write-via-ms-rdpegt-video-geometry for patch details and indicators.

Affected VersionsENISA

FreeRDP 0 <3.32.0

Affected Packages

euvd freerdp fix: 3.32.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 is an open-source implementation of the Microsoft Remote Desktop Protocol (RDP), and this issue lives in its MS-RDPEGT (Graphics and Geometry Tracking) video redirection path. The protocol extension lets a server specify video surface geometry, including a signed 32-bit topLevelLeft origin. In affected builds, that signed value is copied into an unsigned video surface coordinate without validation, and the subsequent blit clamp in gdiVideoShowSurface() performs 32-bit arithmetic that wraps, so the bounds check is bypassed. The root cause class is CWE-129 (Improper Validation of Array Index), where a coordinate derived from untrusted server data is used without validating it against the actual surface bounds before a memory copy of decoded H.264 picture data. The CPE cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:* applies to all FreeRDP versions before 3.32.0; the flaw is in the client-side video/geometry redirection code and requires the client to be launched with the /video option to reach the vulnerable code path. Because the CVSS vector is CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N, the attacker needs no privileges (unauthenticated) but does need the user to initiate a connection to the malicious server, and the only direct impact is to availability (and potentially limited integrity through memory corruption).

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

Vendor (VulnCheck) PRIMARY 6.0 MEDIUM
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
vuln.today AI 5.9 MEDIUM

Malicious server attacks a connecting client requiring non-default /video (AC:H) and user-initiated connection (UI:R); OOB write of picture data gives limited integrity (I:L) and client abort (A:H), no confidentiality.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
High
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Oct 12, 2026 - 18:03 EUVD

DescriptionCVE.org

FreeRDP before 3.32.0 stores the server-supplied signed MS-RDPEGT geometry origin unchecked in an unsigned video surface coordinate, so the blit clamp in gdiVideoShowSurface() wraps in 32-bit arithmetic and is skipped. A malicious RDP server can send a negative topLevelLeft to clients connecting with /video, causing an out-of-bounds write of decoded H.264 picture data or a client abort.

Threat Intelligence Overview

EPSS Score
0.2%
Top 86% exploitable
Prevalence
Medium
widely used open-source RDP client library, but vulnerable /video path is non-default
Data Quality
6 sources
Confidence: High

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.2%
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

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +30
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.

CVE-2026-25997 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_clipboard_format_equal before 3.23.0. Clipboard format comparison uses freed memory. Fifth

CVE-2026-25953 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_AppUpdateWindowFromSurface before 3.23.0. Surface-to-window update triggers memory corrupti

CVE-2026-25952 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_SetWindowMinMaxInfo before version 3.23.0. X11 client window management triggers memory cor

CVE-2026-25959 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_cliprdr_provide_data clipboard handling before 3.23.0. Clipboard data exchange triggers mem

CVE-2026-22857 CRITICAL POC
9.8 Jan 14

FreeRDP IRP thread handler has a use-after-free where the IRP is freed by Complete() then accessed on the error path. Fi

CVE-2026-22854 CRITICAL POC
9.8 Jan 14

FreeRDP drive read heap overflow when server-controlled read length exceeds IRP output buffer. Fixed in 3.20.1. PoC avai

CVE-2026-22852 CRITICAL POC
9.8 Jan 14

FreeRDP client before 3.20.1 has a heap buffer overflow in AUDIN format processing. A malicious RDP server can corrupt m

CVE-2026-25955 CRITICAL POC
9.8 Feb 25

Use-after-free in FreeRDP xf_AppUpdateWindowFromSurface before 3.23.0. Different code path from CVE-2026-25953. PoC and

CVE-2024-32041 CRITICAL POC
9.8 Apr 22

FreeRDP is a free implementation of the Remote Desktop Protocol. Rated critical severity (CVSS 9.8), this vulnerability

CVE-2023-40574 CRITICAL POC
9.8 Aug 31

FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical

CVE-2023-40569 CRITICAL POC
9.8 Aug 31

FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical

CVE-2023-40567 CRITICAL POC
9.8 Aug 31

FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Rated critical

Vendor StatusVendor

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