DEBIAN-CVE-2026-26965
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.
DEBIAN-CVE-2026-26965
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: osv:DEBIAN-CVE-2026-26965
freerdp2
Source reference: /affected/0/package/name
- Affected versions
- 2.10.0+dfsg1-1
Source reference:
/affected/0/versions2.10.0+dfsg1-1.1Source reference:
/affected/0/versions2.11.2+dfsg1-1Source reference:
/affected/0/versions2.11.2+dfsg1-1.1~exp1Source reference:
/affected/0/versions2.11.2+dfsg1-1.1~exp2Source reference:
/affected/0/versions2.11.5+dfsg1-1Source reference:
/affected/0/versions2.11.7+dfsg1-1Source reference:
/affected/0/versions2.11.7+dfsg1-2Source reference:
/affected/0/versions2.11.7+dfsg1-3Source reference:
/affected/0/versions2.11.7+dfsg1-4Source reference:
/affected/0/versions2.11.7+dfsg1-5Source reference:
/affected/0/versions2.11.7+dfsg1-6Source reference:
/affected/0/versions2.11.7+dfsg1-6~deb12u1Source reference:
/affected/0/versions - Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
freerdp3
Source reference: /affected/1/package/name
- Affected versions
- 3.15.0+dfsg-2.1
Source reference:
/affected/1/versions - Fixed versions
- 3.15.0+dfsg-2.1+deb13u1
Source reference:
/affected/1/ranges - Prerequisites
- Not stated in this record
freerdp3
Source reference: /affected/2/package/name
- Affected versions
- 3.15.0+dfsg-2.1
Source reference:
/affected/2/versions3.16.0+dfsg-1Source reference:
/affected/2/versions3.16.0+dfsg-2Source reference:
/affected/2/versions3.17.0+dfsg-1Source reference:
/affected/2/versions3.17.1+dfsg-1Source reference:
/affected/2/versions3.17.1+dfsg-2Source reference:
/affected/2/versions3.17.2+dfsg-1Source reference:
/affected/2/versions3.17.2+dfsg-2Source reference:
/affected/2/versions3.17.2+dfsg-3Source reference:
/affected/2/versions3.18.0+dfsg-1Source reference:
/affected/2/versions3.19.0+dfsg-1Source reference:
/affected/2/versions3.19.1+dfsg-1Source reference:
/affected/2/versions3.20.0+dfsg-1Source reference:
/affected/2/versions3.20.2+dfsg-1Source reference:
/affected/2/versions3.21.0+dfsg-1Source reference:
/affected/2/versions3.22.0+dfsg-1Source reference:
/affected/2/versions3.22.0+dfsg-1~bpo13+0Source reference:
/affected/2/versions3.22.0+dfsg-1~bpo13+1Source reference:
/affected/2/versions3.22.0+dfsg-3Source reference:
/affected/2/versions3.23.0+dfsg-1~bpo13+1Source reference:
/affected/2/versions - Fixed versions
- 3.23.0+dfsg-1
Source reference:
/affected/2/ranges - Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
}
]
}
],
"package": {
"name": "freerdp2",
"purl": "pkg:deb/debian/freerdp2?arch=source&distro=bookworm",
"ecosystem": "Debian:12"
},
"versions": [
"2.10.0+dfsg1-1",
"2.10.0+dfsg1-1.1",
"2.11.2+dfsg1-1",
"2.11.2+dfsg1-1.1~exp1",
"2.11.2+dfsg1-1.1~exp2",
"2.11.5+dfsg1-1",
"2.11.7+dfsg1-1",
"2.11.7+dfsg1-2",
"2.11.7+dfsg1-3",
"2.11.7+dfsg1-4",
"2.11.7+dfsg1-5",
"2.11.7+dfsg1-6",
"2.11.7+dfsg1-6~deb12u1"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-26965.json"
},
"ecosystem_specific": {
"urgency": "not yet assigned"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.15.0+dfsg-2.1+deb13u1"
}
]
}
],
"package": {
"name": "freerdp3",
"purl": "pkg:deb/debian/freerdp3?arch=source&distro=trixie",
"ecosystem": "Debian:13"
},
"versions": [
"3.15.0+dfsg-2.1"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-26965.json"
},
"ecosystem_specific": {
"urgency": "not yet assigned"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "3.23.0+dfsg-1"
}
]
}
],
"package": {
"name": "freerdp3",
"purl": "pkg:deb/debian/freerdp3?arch=source&distro=forky",
"ecosystem": "Debian:14"
},
"versions": [
"3.15.0+dfsg-2.1",
"3.16.0+dfsg-1",
"3.16.0+dfsg-2",
"3.17.0+dfsg-1",
"3.17.1+dfsg-1",
"3.17.1+dfsg-2",
"3.17.2+dfsg-1",
"3.17.2+dfsg-2",
"3.17.2+dfsg-3",
"3.18.0+dfsg-1",
"3.19.0+dfsg-1",
"3.19.1+dfsg-1",
"3.20.0+dfsg-1",
"3.20.2+dfsg-1",
"3.21.0+dfsg-1",
"3.22.0+dfsg-1",
"3.22.0+dfsg-1~bpo13+0",
"3.22.0+dfsg-1~bpo13+1",
"3.22.0+dfsg-3",
"3.23.0+dfsg-1~bpo13+1"
],
"database_specific": {
"source": "https://storage.googleapis.com/debian-osv/debian-cve-osv/DEBIAN-CVE-2026-26965.json"
},
"ecosystem_specific": {
"urgency": "not yet assigned"
}
}
]Publisher severity
No explicit severity was provided.
- Event
- #55882 · Revision 1
- Added to Heist Feed
- Publisher date