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.
{
"cna_assigner": "GitHub_M",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/26xxx/CVE-2026-26965.json",
"cwe_ids": [
"CWE-787"
]
}{
"cpe": "cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:*",
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "3.23.0"
}
],
"source": [
"CPE_RANGE",
"REFERENCES"
]
}"2026-07-22T03:22:06Z"
[
{
"target": {
"file": "libfreerdp/codec/planar.c"
},
"id": "CVE-2026-26965-77b59768",
"digest": {
"line_hashes": [
"230404328755052612117100792242279847009",
"219593616325865066555522329579803666192",
"28534761997125986975824167068864609176",
"187290154479599502016860071192389159910",
"251808060201614952069729567090186929708",
"134195184515631534545394903080960326961",
"105899215744722344442582069370483357347",
"192857596324214854618089700992196040489",
"122161517804884565820976105431098500263"
],
"threshold": 0.9
},
"deprecated": false,
"signature_version": "v1",
"signature_type": "Line",
"source": "https://github.com/freerdp/freerdp/commit/a0be5cb87d760bb1c803ad1bb835aa1e73e62abc"
}
]
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-26965.json"