freerdp: Fix of 3 CVEs
- CVE-2023-39355: fix use-after-free in RDPGFX_CMDID_RESETGRAPHICS handling when context->maxPlaneSize == 0; update context->planesBuffer after free and prevent access to freed memory - CVE-2026-26965: fix heap out-of-bounds write in RLE planar decode that permit attacker-controlled pixel data and offset overwrite adjacent function pointer; validate (nYDst+nSrcHeight) and (nXDst+nSrcWidth) against destination bounds and ensure writes use correct buffer, prevent OOB write - CVE-2026-26955: fix heap buffer overflow in GDI surface pipeline caused by out-of-bounds ClearCodec destination rectangle; add top-level guard in clear_decompress() to validate nXDst/nYDst against destination surface dimensions protecting all code paths (bands, residual, glyph, subcodec); fix subcodec bounds checks to compare against destination dimensions
- Products
- freerdp, freerdp-devel, freerdp-libs, libwinpr, libwinpr-devel
- Affected versions
- Not specified
- Fixed versions
- 2.1.1-5.el7_9.tuxcare.els19
- CVEs
- CVE-2023-39355, CVE-2026-26955, CVE-2026-26965
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 31 Oct 2026, 13:56 UTC · Revision 1
Source evidence
- CVE-2023-39355: fix use-after-free in RDPGFX_CMDID_RESETGRAPHICS handling when context->maxPlaneSize == 0; update context->planesBuffer after free and prevent access to freed memory - CVE-2026-26965: fix heap out-of-bounds write in RLE planar decode that permit attacker-controlled pixel data and offset overwrite adjacent function pointer; validate (nYDst+nSrcHeight) and (nXDst+nSrcWidth) against destination bounds and ensure writes use correct buffer, prevent OOB write - CVE-2026-26955: fix heap buffer overflow in GDI surface pipeline caused by out-of-bounds ClearCodec destination rectangle; add top-level guard in clear_decompress() to validate nXDst/nYDst against destination surface dimensions protecting all code paths (bands, residual, glyph, subcodec); fix subcodec bounds checks to compare against destination dimensions
osv:CLSA-2026-1775223344
freerdp
Fixed versions: 2.1.1-5.el7_9.tuxcare.els19
freerdp-devel
Fixed versions: 2.1.1-5.el7_9.tuxcare.els19
freerdp-libs
Fixed versions: 2.1.1-5.el7_9.tuxcare.els19
libwinpr
Fixed versions: 2.1.1-5.el7_9.tuxcare.els19
libwinpr-devel
Fixed versions: 2.1.1-5.el7_9.tuxcare.els19
Complete source record
{
"id": "d144cb3702ec8b863ce451139fe4bbe61ee4fd29834757ff4d4a6038b058be8d",
"url": "https://osv.dev/vulnerability/CLSA-2026-1775223344",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "freerdp: Fix of 3 CVEs",
"summary": "- CVE-2023-39355: fix use-after-free in RDPGFX_CMDID_RESETGRAPHICS handling when context->maxPlaneSize == 0; update context->planesBuffer after free and prevent access to freed memory - CVE-2026-26965: fix heap out-of-bounds write in RLE planar decode that permit attacker-controlled pixel data and offset overwrite adjacent function pointer; validate (nYDst+nSrcHeight) and (nXDst+nSrcWidth) against destination bounds and ensure writes use correct buffer, prevent OOB write - CVE-2026-26955: fix heap buffer overflow in GDI surface pipeline caused by out-of-bounds ClearCodec destination rectangle; add top-level guard in clear_decompress() to validate nXDst/nYDst against destination surface dimensions protecting all code paths (bands, residual, glyph, subcodec); fix subcodec bounds checks to compare against destination dimensions",
"evidence": "osv:CLSA-2026-1775223344",
"products": [
{
"name": {
"value": "freerdp",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2.1.1-5.el7_9.tuxcare.els19",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "freerdp-devel",
"evidence": "/affected/1/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2.1.1-5.el7_9.tuxcare.els19",
"evidence": "/affected/1/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "freerdp-libs",
"evidence": "/affected/2/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2.1.1-5.el7_9.tuxcare.els19",
"evidence": "/affected/2/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "libwinpr",
"evidence": "/affected/3/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2.1.1-5.el7_9.tuxcare.els19",
"evidence": "/affected/3/ranges"
}
],
"affected_versions": []
},
{
"name": {
"value": "libwinpr-devel",
"evidence": "/affected/4/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "2.1.1-5.el7_9.tuxcare.els19",
"evidence": "/affected/4/ranges"
}
],
"affected_versions": []
}
],
"severity": "unknown",
"structured": {
"id": "CLSA-2026-1775223344",
"aliases": [
"CLSA-2026-1775223344"
],
"affected": [
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.1.1-5.el7_9.tuxcare.els19"
}
]
}
],
"package": {
"name": "freerdp",
"purl": "pkg:rpm/tuxcare/freerdp?distro=centos-7",
"ecosystem": "TuxCare:CentOS:7"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/centos7els/CLSA-2026-1775223344.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.1.1-5.el7_9.tuxcare.els19"
}
]
}
],
"package": {
"name": "freerdp-devel",
"purl": "pkg:rpm/tuxcare/freerdp-devel?distro=centos-7",
"ecosystem": "TuxCare:CentOS:7"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/centos7els/CLSA-2026-1775223344.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.1.1-5.el7_9.tuxcare.els19"
}
]
}
],
"package": {
"name": "freerdp-libs",
"purl": "pkg:rpm/tuxcare/freerdp-libs?distro=centos-7",
"ecosystem": "TuxCare:CentOS:7"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/centos7els/CLSA-2026-1775223344.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.1.1-5.el7_9.tuxcare.els19"
}
]
}
],
"package": {
"name": "libwinpr",
"purl": "pkg:rpm/tuxcare/libwinpr?distro=centos-7",
"ecosystem": "TuxCare:CentOS:7"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/centos7els/CLSA-2026-1775223344.json"
}
},
{
"ranges": [
{
"type": "ECOSYSTEM",
"events": [
{
"introduced": "0"
},
{
"fixed": "2.1.1-5.el7_9.tuxcare.els19"
}
]
}
],
"package": {
"name": "libwinpr-devel",
"purl": "pkg:rpm/tuxcare/libwinpr-devel?distro=centos-7",
"ecosystem": "TuxCare:CentOS:7"
},
"database_specific": {
"source": "https://github.com/cloudlinux/tuxcare-osv/tree/main/data/els_os/centos7els/CLSA-2026-1775223344.json"
}
}
],
"modified": "2026-10-21T10:48:04.775558577Z",
"provider": "osv",
"upstream": [
"CVE-2023-39355",
"CVE-2026-26955",
"CVE-2026-26965"
],
"references": [
"https://errata.tuxcare.com/els_os/centos7els/CLSA-2026-1775223344.html"
]
},
"related_cves": [
{
"value": "CVE-2023-39355",
"evidence": "/upstream"
},
{
"value": "CVE-2026-26955",
"evidence": "/upstream"
},
{
"value": "CVE-2026-26965",
"evidence": "/upstream"
}
],
"security_relevant": true,
"severity_evidence": null
},
"source_id": "core-osv",
"document_id": 392531,
"published_at": "2026-04-10T16:18:55+00:00"
}