CVE-2026-31806
Fixed in a distro release EPSS <1%CVSS 9.3
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.24.0, the gdi_surface_bits() function processes SURFACE_BITS_COMMAND messages sent by the RDP server. When the command is handled using NSCodec, the bmp.width and bmp.height values provided by the server are not properly validated against the actual desktop dimensions. A malicious RDP server can supply crafted bmp.width and bmp.height values that exceed the expected surface size. Because these values are used during bitmap decoding and memory operations without proper bounds checking, this can lead to a heap buffer overflow. Since the attacker can also control the associated pixel data transmitted by the server, the overflow may be exploitable to overwrite adjacent heap memory. This vulnerability is fixed in 3.24.0.
Products: FreeRDP, Red Hat Enterprise Linux 10, Red Hat Enterprise Linux 10.0 Extended Update Support, Red Hat Enterprise Linux 7 Extended Lifecycle Support, Red Hat Enterprise Linux 8, Red Hat Enterprise Linux 8.2 Advanced Update Support, Red Hat Enterprise Linux 8.4 Advanced Mission Critical Update Support, Red Hat Enterprise Linux 8.4 Extended Update Support Long-Life Add-On, Red Hat Enterprise Linux 8.6 Advanced Mission Critical Update Support, Red Hat Enterprise Linux 8.6 Telecommunications Update Service, Red Hat Enterprise Linux 8.6 Update Services for SAP Solutions, Red Hat Enterprise Linux 8.8 Telecommunications Update Service, Red Hat Enterprise Linux 8.8 Update Services for SAP Solutions, Red Hat Enterprise Linux 9, Red Hat Enterprise Linux 9.0 Update Services for SAP Solutions, Red Hat Enterprise Linux 9.2 Update Services for SAP Solutions, Red Hat Enterprise Linux 9.4 Extended Update Support, Red Hat Enterprise Linux 9.6 Extended Update Support, Red Hat Enterprise Linux 6
Distro releases
| Release | Package | Fixed in |
|---|---|---|
| AlmaLinux 10 | freerdp | 2:3.10.3-5.el10_1.5 |
| AlmaLinux 10 | freerdp-devel | 2:3.10.3-5.el10_1.5 |
| AlmaLinux 10 | freerdp-libs | 2:3.10.3-5.el10_1.5 |
| AlmaLinux 10 | freerdp-server | 2:3.10.3-5.el10_1.5 |
| AlmaLinux 10 | libwinpr | 2:3.10.3-5.el10_1.5 |
| AlmaLinux 10 | libwinpr-devel | 2:3.10.3-5.el10_1.5 |
| AlmaLinux 8 | freerdp | 2:2.11.7-6.el8_10 |
| AlmaLinux 8 | freerdp-devel | 2:2.11.7-6.el8_10 |
| AlmaLinux 8 | freerdp-libs | 2:2.11.7-6.el8_10 |
| AlmaLinux 8 | libwinpr | 2:2.11.7-6.el8_10 |
| AlmaLinux 8 | libwinpr-devel | 2:2.11.7-6.el8_10 |
| AlmaLinux 9 | freerdp | 2:2.11.7-1.el9_7.5 |
| AlmaLinux 9 | freerdp-devel | 2:2.11.7-1.el9_7.5 |
| AlmaLinux 9 | freerdp-libs | 2:2.11.7-1.el9_7.5 |
| AlmaLinux 9 | libwinpr | 2:2.11.7-1.el9_7.5 |
| AlmaLinux 9 | libwinpr-devel | 2:2.11.7-1.el9_7.5 |
| Debian 12 | freerdp2 | no fix |
| Debian 13 | freerdp3 | 3.15.0+dfsg-2.1+deb13u2 |
| Debian 14 | freerdp3 | 3.24.0+dfsg-1 |
| Red Hat Enterprise Linux 10.1 | freerdp | 2:3.10.3-5.el10_1.5 |
| Red Hat Enterprise Linux 10.1 | freerdp-debuginfo | 2:3.10.3-5.el10_1.5 |
| Red Hat Enterprise Linux 10.1 | freerdp-debugsource | 2:3.10.3-5.el10_1.5 |
| Red Hat Enterprise Linux 10.1 | freerdp-devel | 2:3.10.3-5.el10_1.5 |
| Red Hat Enterprise Linux 10.1 | freerdp-libs | 2:3.10.3-5.el10_1.5 |
| Red Hat Enterprise Linux 10.1 | freerdp-libs-debuginfo | 2:3.10.3-5.el10_1.5 |
| Red Hat Enterprise Linux 10.1 | freerdp-server | 2:3.10.3-5.el10_1.5 |
| Red Hat Enterprise Linux 10.1 | freerdp-server-debuginfo | 2:3.10.3-5.el10_1.5 |
| Red Hat Enterprise Linux 10.1 | libwinpr | 2:3.10.3-5.el10_1.5 |
| Red Hat Enterprise Linux 10.1 | libwinpr-debuginfo | 2:3.10.3-5.el10_1.5 |
| Red Hat Enterprise Linux 10.1 | libwinpr-devel | 2:3.10.3-5.el10_1.5 |
| Red Hat Enterprise Linux 10.2 | freerdp | 2:3.10.3-12.el10_2.2 |
| Red Hat Enterprise Linux 10.2 | freerdp-debuginfo | 2:3.10.3-12.el10_2.2 |
| Red Hat Enterprise Linux 10.2 | freerdp-debugsource | 2:3.10.3-12.el10_2.2 |
| Red Hat Enterprise Linux 10.2 | freerdp-devel | 2:3.10.3-12.el10_2.2 |
| Red Hat Enterprise Linux 10.2 | freerdp-libs | 2:3.10.3-12.el10_2.2 |
| Red Hat Enterprise Linux 10.2 | freerdp-libs-debuginfo | 2:3.10.3-12.el10_2.2 |
| Red Hat Enterprise Linux 10.2 | freerdp-server | 2:3.10.3-12.el10_2.2 |
| Red Hat Enterprise Linux 10.2 | freerdp-server-debuginfo | 2:3.10.3-12.el10_2.2 |
| Red Hat Enterprise Linux 10.2 | libwinpr | 2:3.10.3-12.el10_2.2 |
| Red Hat Enterprise Linux 10.2 | libwinpr-debuginfo | 2:3.10.3-12.el10_2.2 |
| Red Hat Enterprise Linux 10.2 | libwinpr-devel | 2:3.10.3-12.el10_2.2 |
| Red Hat Enterprise Linux 8 | freerdp | 2:2.11.7-6.el8_10 |
| Red Hat Enterprise Linux 8 | freerdp-debuginfo | 2:2.11.7-6.el8_10 |
| Red Hat Enterprise Linux 8 | freerdp-debugsource | 2:2.11.7-6.el8_10 |
| Red Hat Enterprise Linux 8 | freerdp-devel | 2:2.11.7-6.el8_10 |
| Red Hat Enterprise Linux 8 | freerdp-libs | 2:2.11.7-6.el8_10 |
| Red Hat Enterprise Linux 8 | freerdp-libs-debuginfo | 2:2.11.7-6.el8_10 |
| Red Hat Enterprise Linux 8 | libwinpr | 2:2.11.7-6.el8_10 |
| Red Hat Enterprise Linux 8 | libwinpr-debuginfo | 2:2.11.7-6.el8_10 |
| Red Hat Enterprise Linux 8 | libwinpr-devel | 2:2.11.7-6.el8_10 |
| Red Hat Enterprise Linux 9 | freerdp | 2:2.11.7-1.el9_7.5 |
| Red Hat Enterprise Linux 9 | freerdp-debuginfo | 2:2.11.7-1.el9_7.5 |
| Red Hat Enterprise Linux 9 | freerdp-debugsource | 2:2.11.7-1.el9_7.5 |
| Red Hat Enterprise Linux 9 | freerdp-devel | 2:2.11.7-1.el9_7.5 |
| Red Hat Enterprise Linux 9 | freerdp-libs | 2:2.11.7-1.el9_7.5 |
| Red Hat Enterprise Linux 9 | freerdp-libs-debuginfo | 2:2.11.7-1.el9_7.5 |
| Red Hat Enterprise Linux 9 | libwinpr | 2:2.11.7-1.el9_7.5 |
| Red Hat Enterprise Linux 9 | libwinpr-debuginfo | 2:2.11.7-1.el9_7.5 |
| Red Hat Enterprise Linux 9 | libwinpr-devel | 2:2.11.7-1.el9_7.5 |
| Red Hat Enterprise Linux eus 10.0 | freerdp | 2:3.10.3-3.el10_0.5 |
| Red Hat Enterprise Linux eus 10.0 | freerdp-debuginfo | 2:3.10.3-3.el10_0.5 |
| Red Hat Enterprise Linux eus 10.0 | freerdp-debugsource | 2:3.10.3-3.el10_0.5 |
| Red Hat Enterprise Linux eus 10.0 | freerdp-devel | 2:3.10.3-3.el10_0.5 |
| Red Hat Enterprise Linux eus 10.0 | freerdp-libs | 2:3.10.3-3.el10_0.5 |
| Red Hat Enterprise Linux eus 10.0 | freerdp-libs-debuginfo | 2:3.10.3-3.el10_0.5 |
| Red Hat Enterprise Linux eus 10.0 | freerdp-server | 2:3.10.3-3.el10_0.5 |
| Red Hat Enterprise Linux eus 10.0 | freerdp-server-debuginfo | 2:3.10.3-3.el10_0.5 |
| Red Hat Enterprise Linux eus 10.0 | libwinpr | 2:3.10.3-3.el10_0.5 |
| Red Hat Enterprise Linux eus 10.0 | libwinpr-debuginfo | 2:3.10.3-3.el10_0.5 |
| Red Hat Enterprise Linux eus 10.0 | libwinpr-devel | 2:3.10.3-3.el10_0.5 |
| Red Hat rhel aus 8.2 | freerdp | 2:2.0.0-46.rc4.el8_2.10 |
| Red Hat rhel aus 8.2 | freerdp-debuginfo | 2:2.0.0-46.rc4.el8_2.10 |
| Red Hat rhel aus 8.2 | freerdp-debugsource | 2:2.0.0-46.rc4.el8_2.10 |
| Red Hat rhel aus 8.2 | freerdp-libs | 2:2.0.0-46.rc4.el8_2.10 |
| Red Hat rhel aus 8.2 | freerdp-libs-debuginfo | 2:2.0.0-46.rc4.el8_2.10 |
| Red Hat rhel aus 8.2 | libwinpr | 2:2.0.0-46.rc4.el8_2.10 |
| Red Hat rhel aus 8.2 | libwinpr-debuginfo | 2:2.0.0-46.rc4.el8_2.10 |
| Red Hat rhel aus 8.2 | libwinpr-devel | 2:2.0.0-46.rc4.el8_2.10 |
| Red Hat rhel aus 8.4 | freerdp | 2:2.2.0-12.el8_4 |
| Red Hat rhel aus 8.4 | freerdp-debuginfo | 2:2.2.0-12.el8_4 |
| Red Hat rhel aus 8.4 | freerdp-debugsource | 2:2.2.0-12.el8_4 |
| Red Hat rhel aus 8.4 | freerdp-libs | 2:2.2.0-12.el8_4 |
| Red Hat rhel aus 8.4 | freerdp-libs-debuginfo | 2:2.2.0-12.el8_4 |
| Red Hat rhel aus 8.4 | libwinpr | 2:2.2.0-12.el8_4 |
| Red Hat rhel aus 8.4 | libwinpr-debuginfo | 2:2.2.0-12.el8_4 |
| Red Hat rhel aus 8.4 | libwinpr-devel | 2:2.2.0-12.el8_4 |
| Red Hat rhel aus 8.6 | freerdp | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel aus 8.6 | freerdp-debuginfo | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel aus 8.6 | freerdp-debugsource | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel aus 8.6 | freerdp-libs | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel aus 8.6 | freerdp-libs-debuginfo | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel aus 8.6 | libwinpr | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel aus 8.6 | libwinpr-debuginfo | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel aus 8.6 | libwinpr-devel | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel e4s 8.6 | freerdp | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel e4s 8.6 | freerdp-debuginfo | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel e4s 8.6 | freerdp-debugsource | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel e4s 8.6 | freerdp-libs | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel e4s 8.6 | freerdp-libs-debuginfo | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel e4s 8.6 | libwinpr | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel e4s 8.6 | libwinpr-debuginfo | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel e4s 8.6 | libwinpr-devel | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel e4s 8.8 | freerdp | 2:2.2.0-12.el8_8.5 |
| Red Hat rhel e4s 8.8 | freerdp-debuginfo | 2:2.2.0-12.el8_8.5 |
| Red Hat rhel e4s 8.8 | freerdp-debugsource | 2:2.2.0-12.el8_8.5 |
| Red Hat rhel e4s 8.8 | freerdp-libs | 2:2.2.0-12.el8_8.5 |
| Red Hat rhel e4s 8.8 | freerdp-libs-debuginfo | 2:2.2.0-12.el8_8.5 |
| Red Hat rhel e4s 8.8 | libwinpr | 2:2.2.0-12.el8_8.5 |
| Red Hat rhel e4s 8.8 | libwinpr-debuginfo | 2:2.2.0-12.el8_8.5 |
| Red Hat rhel e4s 8.8 | libwinpr-devel | 2:2.2.0-12.el8_8.5 |
| Red Hat rhel e4s 9.0 | freerdp | 2:2.4.1-3.el9_0.4 |
| Red Hat rhel e4s 9.0 | freerdp-debuginfo | 2:2.4.1-3.el9_0.4 |
| Red Hat rhel e4s 9.0 | freerdp-debugsource | 2:2.4.1-3.el9_0.4 |
| Red Hat rhel e4s 9.0 | freerdp-libs | 2:2.4.1-3.el9_0.4 |
| Red Hat rhel e4s 9.0 | freerdp-libs-debuginfo | 2:2.4.1-3.el9_0.4 |
| Red Hat rhel e4s 9.0 | libwinpr | 2:2.4.1-3.el9_0.4 |
| Red Hat rhel e4s 9.0 | libwinpr-debuginfo | 2:2.4.1-3.el9_0.4 |
| Red Hat rhel e4s 9.2 | freerdp | 2:2.4.1-6.el9_2.6 |
| Red Hat rhel e4s 9.2 | freerdp-debuginfo | 2:2.4.1-6.el9_2.6 |
| Red Hat rhel e4s 9.2 | freerdp-debugsource | 2:2.4.1-6.el9_2.6 |
| Red Hat rhel e4s 9.2 | freerdp-libs | 2:2.4.1-6.el9_2.6 |
| Red Hat rhel e4s 9.2 | freerdp-libs-debuginfo | 2:2.4.1-6.el9_2.6 |
| Red Hat rhel e4s 9.2 | libwinpr | 2:2.4.1-6.el9_2.6 |
| Red Hat rhel e4s 9.2 | libwinpr-debuginfo | 2:2.4.1-6.el9_2.6 |
| Red Hat rhel els 7 | freerdp | 0:2.1.1-5.el7_9.7 |
| Red Hat rhel els 7 | freerdp-debuginfo | 0:2.1.1-5.el7_9.7 |
| Red Hat rhel els 7 | freerdp-devel | 0:2.1.1-5.el7_9.7 |
| Red Hat rhel els 7 | freerdp-libs | 0:2.1.1-5.el7_9.7 |
| Red Hat rhel els 7 | libwinpr | 0:2.1.1-5.el7_9.7 |
| Red Hat rhel els 7 | libwinpr-devel | 0:2.1.1-5.el7_9.7 |
| Red Hat rhel eus 9.4 | freerdp | 2:2.11.2-1.el9_4.5 |
| Red Hat rhel eus 9.4 | freerdp-debuginfo | 2:2.11.2-1.el9_4.5 |
| Red Hat rhel eus 9.4 | freerdp-debugsource | 2:2.11.2-1.el9_4.5 |
| Red Hat rhel eus 9.4 | freerdp-devel | 2:2.11.2-1.el9_4.5 |
| Red Hat rhel eus 9.4 | freerdp-libs | 2:2.11.2-1.el9_4.5 |
| Red Hat rhel eus 9.4 | freerdp-libs-debuginfo | 2:2.11.2-1.el9_4.5 |
| Red Hat rhel eus 9.4 | libwinpr | 2:2.11.2-1.el9_4.5 |
| Red Hat rhel eus 9.4 | libwinpr-debuginfo | 2:2.11.2-1.el9_4.5 |
| Red Hat rhel eus 9.4 | libwinpr-devel | 2:2.11.2-1.el9_4.5 |
| Red Hat rhel eus 9.6 | freerdp | 2:2.11.7-1.el9_6.7 |
| Red Hat rhel eus 9.6 | freerdp-debuginfo | 2:2.11.7-1.el9_6.7 |
| Red Hat rhel eus 9.6 | freerdp-debugsource | 2:2.11.7-1.el9_6.7 |
| Red Hat rhel eus 9.6 | freerdp-devel | 2:2.11.7-1.el9_6.7 |
| Red Hat rhel eus 9.6 | freerdp-libs | 2:2.11.7-1.el9_6.7 |
| Red Hat rhel eus 9.6 | freerdp-libs-debuginfo | 2:2.11.7-1.el9_6.7 |
| Red Hat rhel eus 9.6 | libwinpr | 2:2.11.7-1.el9_6.7 |
| Red Hat rhel eus 9.6 | libwinpr-debuginfo | 2:2.11.7-1.el9_6.7 |
| Red Hat rhel eus 9.6 | libwinpr-devel | 2:2.11.7-1.el9_6.7 |
| Red Hat rhel eus long life 8.4 | freerdp | 2:2.2.0-12.el8_4 |
| Red Hat rhel eus long life 8.4 | freerdp-debuginfo | 2:2.2.0-12.el8_4 |
| Red Hat rhel eus long life 8.4 | freerdp-debugsource | 2:2.2.0-12.el8_4 |
| Red Hat rhel eus long life 8.4 | freerdp-libs | 2:2.2.0-12.el8_4 |
| Red Hat rhel eus long life 8.4 | freerdp-libs-debuginfo | 2:2.2.0-12.el8_4 |
| Red Hat rhel eus long life 8.4 | libwinpr | 2:2.2.0-12.el8_4 |
| Red Hat rhel eus long life 8.4 | libwinpr-debuginfo | 2:2.2.0-12.el8_4 |
| Red Hat rhel eus long life 8.4 | libwinpr-devel | 2:2.2.0-12.el8_4 |
| Red Hat rhel tus 8.6 | freerdp | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel tus 8.6 | freerdp-debuginfo | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel tus 8.6 | freerdp-debugsource | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel tus 8.6 | freerdp-libs | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel tus 8.6 | freerdp-libs-debuginfo | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel tus 8.6 | libwinpr | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel tus 8.6 | libwinpr-debuginfo | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel tus 8.6 | libwinpr-devel | 2:2.2.0-7.el8_6.5 |
| Red Hat rhel tus 8.8 | freerdp | 2:2.2.0-12.el8_8.5 |
| Red Hat rhel tus 8.8 | freerdp-debuginfo | 2:2.2.0-12.el8_8.5 |
| Red Hat rhel tus 8.8 | freerdp-debugsource | 2:2.2.0-12.el8_8.5 |
| Red Hat rhel tus 8.8 | freerdp-libs | 2:2.2.0-12.el8_8.5 |
| Red Hat rhel tus 8.8 | freerdp-libs-debuginfo | 2:2.2.0-12.el8_8.5 |
| Red Hat rhel tus 8.8 | libwinpr | 2:2.2.0-12.el8_8.5 |
| Red Hat rhel tus 8.8 | libwinpr-debuginfo | 2:2.2.0-12.el8_8.5 |
| Red Hat rhel tus 8.8 | libwinpr-devel | 2:2.2.0-12.el8_8.5 |
| Rocky Linux 10 | freerdp | 2:3.10.3-5.el10_1.5 |
| Rocky Linux 8 | freerdp | 2:2.11.7-6.el8_10 |
| Rocky Linux 9 | freerdp | 2:2.11.7-1.el9_7.5 |
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | freerdp | 2.11.2-150600.4.18.1 |
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | freerdp | 3.10.3-150700.3.9.1 |
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | freerdp | 2.4.0-150400.3.47.1 |
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | freerdp2 | 2.11.7-150700.3.14.1 |
| SUSE Linux Enterprise Server 12 SP5-LTSS | freerdp | 2.1.2-12.63.1 |
| SUSE Linux Enterprise Server LTSS Extended Security 12 SP5 | freerdp | 2.1.2-12.63.1 |
| SUSE Linux Enterprise Workstation Extension 15 SP7 | freerdp | 3.10.3-150700.3.9.1 |
| SUSE Linux Enterprise Workstation Extension 15 SP7 | freerdp2 | 2.11.7-150700.3.14.1 |
| Ubuntu 16.04 LTS | freerdp | no fix |
| Ubuntu 18.04 LTS | freerdp | no fix |
| Ubuntu 22.04 LTS | freerdp2 | no fix |
| Ubuntu 24.04 LTS | freerdp3 | 3.30.0+dfsg-0ubuntu0.24.04.1 |
| Ubuntu 25.10 | freerdp3 | no fix |
| Ubuntu 26.04 LTS | freerdp3 | 3.30.0+dfsg-0ubuntu0.26.04.1 |
| Ubuntu Pro 18.04 LTS | freerdp2 | no fix |
| Ubuntu Pro 20.04 LTS | freerdp2 | no fix |
| Ubuntu Pro 24.04 LTS | freerdp2 | no fix |
| openSUSE Leap 15.6 | freerdp | 2.11.2-150600.4.18.1 |
| openSUSE Tumbleweed | freerdp | 3.24.1-1.1 |
| openSUSE Tumbleweed | freerdp2 | 2.11.7-6.1 |