CVE-2026-26965
February 25, 2026
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, in the RLE planar decode path, "planar_decompress_plane_rle()" writes into "pDstData" at "((nYDst+y) * nDstStep) + (4*nXDst) + nChannel" without verifying that "(nYDst+nSrcHeight)" fits in the destination height or that "(nXDst+nSrcWidth)" fits in the destination stride. When "TempFormat != DstFormat", "pDstData" becomes "planar->pTempData" (sized for the desktop), while "nYDst" is only validated against the surface by "is_within_surface()". A malicious RDP server can exploit this to perform a heap out-of-bounds write with attacker-controlled offset and pixel data on any connecting FreeRDP client. The OOB write reaches up to 132,096 bytes past the temp buffer end, and on the brk heap (desktop ≤ 128×128), an adjacent "NSC_CONTEXT" struct's "decode" function pointer is overwritten with attacker-controlled pixel data — control-flow–relevant corruption (function pointer overwritten) demonstrated under deterministic heap layout ("nsc->decode = 0xFF414141FF414141"). Version 3.23.0 fixes the vulnerability.
Affected Packages
https://github.com/FreeRDP/FreeRDP.git (GITHUB):
Affected version(s) >=3.0.0 <3.23.0Fix Suggestion:
Update to version 3.23.0https://github.com/FreeRDP/FreeRDP.git (GITHUB):
Affected version(s) >=1.0-beta1 <2.11.8Fix Suggestion:
Update to version 2.11.8Additional Notes
The description of this vulnerability differs from MITRE.
Related Resources (2)
Do you need more information?
Contact UsCVSS v4
Base Score:
8.7
Attack Vector
NETWORK
Attack Complexity
LOW
Attack Requirements
NONE
Privileges Required
NONE
User Interaction
PASSIVE
Vulnerable System Confidentiality
HIGH
Vulnerable System Integrity
HIGH
Vulnerable System Availability
HIGH
Subsequent System Confidentiality
NONE
Subsequent System Integrity
NONE
Subsequent System Availability
NONE
CVSS v3
Base Score:
8.8
Attack Vector
NETWORK
Attack Complexity
LOW
Privileges Required
NONE
User Interaction
REQUIRED
Scope
UNCHANGED
Confidentiality
HIGH
Integrity
HIGH
Availability
HIGH
Weakness Type (CWE)
Out-of-bounds Write
EPSS
Base Score:
0.06