Heap-based buffer overflow in FreeRDP - CVE-2026-31806

 

Heap-based buffer overflow in FreeRDP - CVE-2026-31806

Published: April 8, 2026


Vulnerability identifier: #VU125361
CSH Severity: High
CVSS v4: 8.6 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N]
CVE-ID: CVE-2026-31806
CWE-ID: CWE-122
Exploitation vector: Remote access
Exploit availability: No public exploit available

Vulnerability details

The vulnerability allows a remote attacker to execute arbitrary code.

The vulnerability exists due to a heap-based buffer overflow in nsc_process_message() when processing SURFACE_BITS_COMMAND messages using NSCodec. A remote attacker can send a specially crafted RDP server message with oversized bitmap dimensions to execute arbitrary code.

The issue can be triggered when a FreeRDP client connects to a malicious RDP server.


Affected software

FreeRDP
SUSE Linux Enterprise Server 12 SP5
SUSE Linux Enterprise Server 12 SP5 LTSS Extended
SUSE Linux Enterprise High Performance Computing 12
SUSE Linux Enterprise Server 12
SUSE Linux Enterprise Server for SAP Applications 12
SUSE Linux Enterprise Desktop 15
SUSE Linux Enterprise Server 15
SUSE Linux Enterprise Server for SAP Applications 15
SUSE Linux Enterprise Workstation Extension 15
SUSE Linux Enterprise Real Time 15
Anolis OS
Red Hat Enterprise Linux for x86_64
Red Hat Enterprise Linux for IBM z Systems
Red Hat Enterprise Linux for Power, little endian
Red Hat Enterprise Linux for ARM 64
Red Hat CodeReady Linux Builder for x86_64
Red Hat CodeReady Linux Builder for Power, little endian
Red Hat CodeReady Linux Builder for ARM 64
Red Hat CodeReady Linux Builder for IBM z Systems
Red Hat Enterprise Linux Server - AUS
Red Hat Enterprise Linux Server - TUS
Red Hat Enterprise Linux for Power, little endian - Extended Update Support
Red Hat Enterprise Linux for ARM 64 - Extended Update Support
Red Hat Enterprise Linux for IBM z Systems - Extended Update Support
Red Hat Enterprise Linux for x86_64 - Extended Update Support
Red Hat CodeReady Linux Builder for Power, little endian - Extended Update Support
Red Hat CodeReady Linux Builder for x86_64 - Extended Update Support
Red Hat CodeReady Linux Builder for IBM z Systems - Extended Update Support
Red Hat CodeReady Linux Builder for ARM 64 - Extended Update Support
SUSE Package Hub 15
openSUSE Leap
openEuler
Fedora
Red Hat Enterprise Linux Server for Power LE - Update Services for SAP Solutions
freerdp (Red Hat package)
freerdp-devel
winpr2-devel
freerdp-proxy
freerdp-server-debuginfo
libwinpr2-debuginfo
uwac0-0-devel
freerdp-wayland-debuginfo
libwinpr2
libfreerdp2-debuginfo
freerdp-debugsource
freerdp
libuwac0-0-debuginfo
libfreerdp2
freerdp-wayland
libuwac0-0
freerdp-server
freerdp-proxy-debuginfo
freerdp-debuginfo
winpr-devel
libfreerdp2-2
libfreerdp2-2-debuginfo
libwinpr2-2-debuginfo
libwinpr2-2
freerdp-doc
freerdp-libs
libwinpr
libwinpr-devel
freerdp2
freerdp2-proxy
freerdp2-server
freerdp2-proxy-debuginfo
freerdp2-server-debuginfo
freerdp2-devel
freerdp2-debugsource
freerdp2-debuginfo
freerdp-help
libfreerdp-server-proxy3-3
libfreerdp3-3
libwinpr3-3-debuginfo
freerdp-proxy-plugins-debuginfo
freerdp-proxy-plugins
librdtk0-0
freerdp-sdl-debuginfo
libfreerdp3-3-debuginfo
librdtk0-0-debuginfo
libwinpr3-3
libfreerdp-server-proxy3-3-debuginfo
freerdp-sdl

How to mitigate CVE-2026-31806

Install security update from vendor's website.

FreeRDP - update to 3.24.0
freerdp (Red Hat package) - addressed in versions 2.0.0-46.rc4.el8_2.10, 2.1.1-5.el7_9.7, 2.2.0-7.el8_6.5, 2.2.0-12.el8_4, 2.2.0-12.el8_8.5, 2.4.1-3.el9_0.4, 2.4.1-6.el9_2.6, 2.11.2-1.el9_4.5, 2.11.7-1.el9_6.7, 2.11.7-1.el9_7.5, 2.11.7-6.el8_10, 3.10.3-3.el10_0.5, 3.10.3-5.el10_1.5
freerdp-devel - addressed in versions 2.1.2-12.63.1, 2.4.0-150400.3.47.1, 2.11.2-150600.4.18.1, 3.10.3-150700.3.9.1
winpr2-devel - addressed in versions 2.1.2-12.63.1, 2.4.0-150400.3.47.1, 2.11.7-150700.3.14.1, 2.11.7-150700.3.22.1
freerdp-proxy - addressed in versions 2.4.0-150400.3.47.1, 2.11.2-150600.4.18.1, 3.10.3-150700.3.9.1
freerdp-server-debuginfo - addressed in versions 2.4.0-150400.3.47.1, 2.11.2-150600.4.18.1, 3.10.3-150700.3.9.1
libwinpr2-debuginfo - update to 2.4.0-150400.3.47.1
uwac0-0-devel - addressed in versions 2.4.0-150400.3.47.1, 2.11.2-150600.4.18.1
freerdp-wayland-debuginfo - addressed in versions 2.4.0-150400.3.47.1, 2.11.2-150600.4.18.1, 3.10.3-150700.3.9.1
libwinpr2 - update to 2.4.0-150400.3.47.1
libfreerdp2-debuginfo - update to 2.4.0-150400.3.47.1
freerdp-debugsource - addressed in versions 2.4.0-150400.3.47.1, 2.11.2-150600.4.18.1, 3.10.3-150700.3.9.1
freerdp - addressed in versions 2.4.0-150400.3.47.1, 2.11.2-150600.4.18.1, 3.10.3-150700.3.9.1
libuwac0-0-debuginfo - addressed in versions 2.4.0-150400.3.47.1, 2.11.2-150600.4.18.1, 3.10.3-150700.3.9.1
libfreerdp2 - update to 2.4.0-150400.3.47.1
freerdp-wayland - addressed in versions 2.4.0-150400.3.47.1, 2.11.2-150600.4.18.1, 3.10.3-150700.3.9.1
libuwac0-0 - addressed in versions 2.4.0-150400.3.47.1, 2.11.2-150600.4.18.1, 3.10.3-150700.3.9.1
freerdp-server - addressed in versions 2.4.0-150400.3.47.1, 2.11.2-150600.4.18.1, 3.10.3-150700.3.9.1
freerdp-proxy-debuginfo - addressed in versions 2.4.0-150400.3.47.1, 2.11.2-150600.4.18.1, 3.10.3-150700.3.9.1
freerdp-debuginfo - addressed in versions 2.4.0-150400.3.47.1, 2.11.2-150600.4.18.1, 3.10.3-150700.3.9.1
winpr-devel - addressed in versions 2.11.2-150600.4.18.1, 3.10.3-150700.3.9.1
libfreerdp2-2 - addressed in versions 2.11.2-150600.4.18.1, 2.11.7-150700.3.14.1, 2.11.7-150700.3.22.1
libfreerdp2-2-debuginfo - addressed in versions 2.11.2-150600.4.18.1, 2.11.7-150700.3.14.1, 2.11.7-150700.3.22.1
libwinpr2-2-debuginfo - addressed in versions 2.11.2-150600.4.18.1, 2.11.7-150700.3.14.1, 2.11.7-150700.3.22.1
libwinpr2-2 - addressed in versions 2.11.2-150600.4.18.1, 2.11.7-150700.3.14.1, 2.11.7-150700.3.22.1
freerdp-doc - update to 2.11.7-6.0.1
freerdp - update to 2.11.7-6.0.1
freerdp-devel - update to 2.11.7-6.0.1
freerdp-libs - update to 2.11.7-6.0.1
libwinpr - update to 2.11.7-6.0.1
libwinpr-devel - update to 2.11.7-6.0.1
freerdp2 - addressed in versions 2.11.7-150700.3.14.1, 2.11.7-150700.3.22.1
freerdp2-proxy - addressed in versions 2.11.7-150700.3.14.1, 2.11.7-150700.3.22.1
freerdp2-server - addressed in versions 2.11.7-150700.3.14.1, 2.11.7-150700.3.22.1
freerdp2-proxy-debuginfo - addressed in versions 2.11.7-150700.3.14.1, 2.11.7-150700.3.22.1
freerdp2-server-debuginfo - addressed in versions 2.11.7-150700.3.14.1, 2.11.7-150700.3.22.1
freerdp2-devel - addressed in versions 2.11.7-150700.3.14.1, 2.11.7-150700.3.22.1
freerdp2-debugsource - addressed in versions 2.11.7-150700.3.14.1, 2.11.7-150700.3.22.1
freerdp2-debuginfo - addressed in versions 2.11.7-150700.3.14.1, 2.11.7-150700.3.22.1
freerdp-help - update to 2.11.8-3
freerdp-devel - update to 2.11.8-3
freerdp-debugsource - update to 2.11.8-3
freerdp-debuginfo - update to 2.11.8-3
freerdp - update to 2.11.8-3
libwinpr-devel - update to 2.11.8-3
libwinpr - update to 2.11.8-3
libfreerdp-server-proxy3-3 - update to 3.10.3-150700.3.9.1
libfreerdp3-3 - update to 3.10.3-150700.3.9.1
libwinpr3-3-debuginfo - update to 3.10.3-150700.3.9.1
freerdp-proxy-plugins-debuginfo - update to 3.10.3-150700.3.9.1
freerdp-proxy-plugins - update to 3.10.3-150700.3.9.1
librdtk0-0 - update to 3.10.3-150700.3.9.1
freerdp-sdl-debuginfo - update to 3.10.3-150700.3.9.1
libfreerdp3-3-debuginfo - update to 3.10.3-150700.3.9.1
librdtk0-0-debuginfo - update to 3.10.3-150700.3.9.1
libwinpr3-3 - update to 3.10.3-150700.3.9.1
libfreerdp-server-proxy3-3-debuginfo - update to 3.10.3-150700.3.9.1
freerdp-sdl - update to 3.10.3-150700.3.9.1
freerdp - addressed in versions 3.24.0-1.fc42, 3.24.0-1.fc43, 3.24.0-1.fc44, 3.24.0-1.fc45, 3.24.2-1.fc42

External References

Related Security Bulletins