Vulnerability Details CVE-2026-121958
FreeRDP through 3.32.1 has a heap out-of-bounds write in the RDPGFX client because the delete_surface callback truncates surface hash keys to 16 bits, leaving the surface table inconsistent so HashTable_GetKeys writes past its allocated key array. A malicious or man-in-the-middle RDP server can exploit this by creating surfaceId 0xFFFF, closing the RDPGFX channel, sending repeated DELETESURFACE PDUs, and then sending ENDFRAME or RESETGRAPHICS.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.003
EPSS Ranking 28.2%
CVSS Severity
CVSS v3 Score 8.8
Products affected by CVE-2026-121958
-
cpe:2.3:a:freerdp:freerdp:-
-
cpe:2.3:a:freerdp:freerdp:1.0.0
-
cpe:2.3:a:freerdp:freerdp:1.0.1
-
cpe:2.3:a:freerdp:freerdp:1.0.2
-
cpe:2.3:a:freerdp:freerdp:1.1.0
-
cpe:2.3:a:freerdp:freerdp:1.2.0
-
cpe:2.3:a:freerdp:freerdp:2.0.0
-
cpe:2.3:a:freerdp:freerdp:2.1.0
-
cpe:2.3:a:freerdp:freerdp:2.1.1
-
cpe:2.3:a:freerdp:freerdp:2.1.2
-
cpe:2.3:a:freerdp:freerdp:2.10.0
-
cpe:2.3:a:freerdp:freerdp:2.11.0
-
cpe:2.3:a:freerdp:freerdp:2.11.1
-
cpe:2.3:a:freerdp:freerdp:2.11.2
-
cpe:2.3:a:freerdp:freerdp:2.11.3
-
cpe:2.3:a:freerdp:freerdp:2.11.4
-
cpe:2.3:a:freerdp:freerdp:2.11.5
-
cpe:2.3:a:freerdp:freerdp:2.11.6
-
cpe:2.3:a:freerdp:freerdp:2.11.7
-
cpe:2.3:a:freerdp:freerdp:2.11.8
-
cpe:2.3:a:freerdp:freerdp:2.2.0
-
cpe:2.3:a:freerdp:freerdp:2.3.0
-
cpe:2.3:a:freerdp:freerdp:2.3.1
-
cpe:2.3:a:freerdp:freerdp:2.3.2
-
cpe:2.3:a:freerdp:freerdp:2.4.0
-
cpe:2.3:a:freerdp:freerdp:2.4.1
-
cpe:2.3:a:freerdp:freerdp:2.5.0
-
cpe:2.3:a:freerdp:freerdp:2.6.0
-
cpe:2.3:a:freerdp:freerdp:2.6.1
-
cpe:2.3:a:freerdp:freerdp:2.7.0
-
cpe:2.3:a:freerdp:freerdp:2.8.0
-
cpe:2.3:a:freerdp:freerdp:2.8.1
-
cpe:2.3:a:freerdp:freerdp:2.9.0
-
cpe:2.3:a:freerdp:freerdp:3.0.0
-
cpe:2.3:a:freerdp:freerdp:3.1.0
-
cpe:2.3:a:freerdp:freerdp:3.10.0
-
cpe:2.3:a:freerdp:freerdp:3.10.1
-
cpe:2.3:a:freerdp:freerdp:3.10.2
-
cpe:2.3:a:freerdp:freerdp:3.10.3
-
cpe:2.3:a:freerdp:freerdp:3.11.0
-
cpe:2.3:a:freerdp:freerdp:3.11.1
-
cpe:2.3:a:freerdp:freerdp:3.12.0
-
cpe:2.3:a:freerdp:freerdp:3.13.0
-
cpe:2.3:a:freerdp:freerdp:3.14.0
-
cpe:2.3:a:freerdp:freerdp:3.14.1
-
cpe:2.3:a:freerdp:freerdp:3.15.0
-
cpe:2.3:a:freerdp:freerdp:3.16.0
-
cpe:2.3:a:freerdp:freerdp:3.17.0
-
cpe:2.3:a:freerdp:freerdp:3.17.1
-
cpe:2.3:a:freerdp:freerdp:3.17.2
-
cpe:2.3:a:freerdp:freerdp:3.18.0
-
cpe:2.3:a:freerdp:freerdp:3.19.0
-
cpe:2.3:a:freerdp:freerdp:3.19.1
-
cpe:2.3:a:freerdp:freerdp:3.2.0
-
cpe:2.3:a:freerdp:freerdp:3.20.0
-
cpe:2.3:a:freerdp:freerdp:3.20.1
-
cpe:2.3:a:freerdp:freerdp:3.20.2
-
cpe:2.3:a:freerdp:freerdp:3.21.0
-
cpe:2.3:a:freerdp:freerdp:3.22.0
-
cpe:2.3:a:freerdp:freerdp:3.23.0
-
cpe:2.3:a:freerdp:freerdp:3.24.0
-
cpe:2.3:a:freerdp:freerdp:3.24.1
-
cpe:2.3:a:freerdp:freerdp:3.24.2
-
cpe:2.3:a:freerdp:freerdp:3.25.0
-
cpe:2.3:a:freerdp:freerdp:3.26.0
-
cpe:2.3:a:freerdp:freerdp:3.27.0
-
cpe:2.3:a:freerdp:freerdp:3.27.1
-
cpe:2.3:a:freerdp:freerdp:3.28.0
-
cpe:2.3:a:freerdp:freerdp:3.29.0
-
cpe:2.3:a:freerdp:freerdp:3.3.0
-
cpe:2.3:a:freerdp:freerdp:3.30.0
-
cpe:2.3:a:freerdp:freerdp:3.31.0
-
cpe:2.3:a:freerdp:freerdp:3.31.1
-
cpe:2.3:a:freerdp:freerdp:3.32.1
-
cpe:2.3:a:freerdp:freerdp:3.4.0
-
cpe:2.3:a:freerdp:freerdp:3.5.0
-
cpe:2.3:a:freerdp:freerdp:3.5.1
-
cpe:2.3:a:freerdp:freerdp:3.6.0
-
cpe:2.3:a:freerdp:freerdp:3.6.1
-
cpe:2.3:a:freerdp:freerdp:3.6.2
-
cpe:2.3:a:freerdp:freerdp:3.6.3
-
cpe:2.3:a:freerdp:freerdp:3.7.0
-
cpe:2.3:a:freerdp:freerdp:3.8.0
-
cpe:2.3:a:freerdp:freerdp:3.9.0