FreeRDP has Out-of-bounds Write
Description
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.
AI Insight
LLM-synthesized narrative grounded in this CVE's description and references.
Affected products
17- osv-coords15 versionspkg:rpm/almalinux/freerdppkg:rpm/almalinux/freerdp-develpkg:rpm/almalinux/freerdp-libspkg:rpm/almalinux/freerdp-serverpkg:rpm/almalinux/libwinprpkg:rpm/almalinux/libwinpr-develpkg:rpm/opensuse/freerdp2&distro=openSUSE%20Tumbleweedpkg:rpm/opensuse/freerdp&distro=openSUSE%20Leap%2015.6pkg:rpm/opensuse/freerdp&distro=openSUSE%20Tumbleweedpkg:rpm/suse/freerdp2&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Package%20Hub%2015%20SP7pkg:rpm/suse/freerdp2&distro=SUSE%20Linux%20Enterprise%20Workstation%20Extension%2015%20SP7pkg:rpm/suse/freerdp&distro=SUSE%20Linux%20Enterprise%20Module%20for%20Package%20Hub%2015%20SP7pkg:rpm/suse/freerdp&distro=SUSE%20Linux%20Enterprise%20Server%2012%20SP5-LTSSpkg:rpm/suse/freerdp&distro=SUSE%20Linux%20Enterprise%20Server%20LTSS%20Extended%20Security%2012%20SP5pkg:rpm/suse/freerdp&distro=SUSE%20Linux%20Enterprise%20Workstation%20Extension%2015%20SP7
< 2:3.10.3-5.el10_1.3+ 14 more
- (no CPE)range: < 2:3.10.3-5.el10_1.3
- (no CPE)range: < 2:3.10.3-5.el10_1.3
- (no CPE)range: < 2:3.10.3-5.el10_1.3
- (no CPE)range: < 2:3.10.3-5.el10_1.3
- (no CPE)range: < 2:3.10.3-5.el10_1.3
- (no CPE)range: < 2:3.10.3-5.el10_1.3
- (no CPE)range: < 2.11.7-6.1
- (no CPE)range: < 2.11.2-150600.4.18.1
- (no CPE)range: < 3.24.1-1.1
- (no CPE)range: < 2.11.7-150700.3.14.1
- (no CPE)range: < 2.11.7-150700.3.14.1
- (no CPE)range: < 2.11.2-150600.4.18.1
- (no CPE)range: < 2.1.2-12.63.1
- (no CPE)range: < 2.1.2-12.63.1
- (no CPE)range: < 3.10.3-150700.3.9.1
Patches
Vulnerability mechanics
References
2- github.com/FreeRDP/FreeRDP/commit/a0be5cb87d760bb1c803ad1bb835aa1e73e62abcmitrex_refsource_MISC
- github.com/FreeRDP/FreeRDP/security/advisories/GHSA-5vgf-mw4f-r33hmitrex_refsource_CONFIRM
News mentions
0No linked articles in our index yet.