Skip to content
Fencer Vulns
high 8.8

CVE-2026-31806 json

FreeRDP has a Heap Buffer Overflow in nsc_process_message() via Unchecked SURFACE_BITS_COMMAND Bitmap Dimensions

published 2026-03-13 7 mo ago modified 2026-07-15 3 mo ago also EUVD-2026-12060

cvss
8.8
version 3.1, CNA
cisa kev
Not listed
not in CISA's catalog
epss
0.7%
EPSS 0.7% chance of exploitation in 30 days, percentile 55%
public exploits
0
none known

Summary

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.

Patch / fix

  • Red Hat Red Hat Enterprise Linux 10 2:3.10.3-5.el10_1.5, 2:3.10.3-12.el10_2.2
  • Red Hat Red Hat Enterprise Linux 10.0 Extended Update Support 2:3.10.3-3.el10_0.5
  • Red Hat Red Hat Enterprise Linux 7 Extended Lifecycle Support 0:2.1.1-5.el7_9.7
  • Red Hat Red Hat Enterprise Linux 8 2:2.11.7-6.el8_10
  • Red Hat Red Hat Enterprise Linux 8.2 Advanced Update Support 2:2.0.0-46.rc4.el8_2.10
  • Red Hat Red Hat Enterprise Linux 8.4 Advanced Mission Critical Update Support 2:2.2.0-12.el8_4
  • Red Hat Red Hat Enterprise Linux 8.4 Extended Update Support Long-Life Add-On 2:2.2.0-12.el8_4
  • Red Hat Red Hat Enterprise Linux 8.6 Advanced Mission Critical Update Support 2:2.2.0-7.el8_6.5
  • Red Hat Red Hat Enterprise Linux 8.6 Telecommunications Update Service 2:2.2.0-7.el8_6.5
  • Red Hat Red Hat Enterprise Linux 8.6 Update Services for SAP Solutions 2:2.2.0-7.el8_6.5
  • Red Hat Red Hat Enterprise Linux 8.8 Telecommunications Update Service 2:2.2.0-12.el8_8.5
  • Red Hat Red Hat Enterprise Linux 8.8 Update Services for SAP Solutions 2:2.2.0-12.el8_8.5
  • Red Hat Red Hat Enterprise Linux 9 2:2.11.7-1.el9_7.5
  • Red Hat Red Hat Enterprise Linux 9.0 Update Services for SAP Solutions 2:2.4.1-3.el9_0.4
  • Red Hat Red Hat Enterprise Linux 9.2 Update Services for SAP Solutions 2:2.4.1-6.el9_2.6
  • Red Hat Red Hat Enterprise Linux 9.4 Extended Update Support 2:2.11.2-1.el9_4.5
  • Red Hat Red Hat Enterprise Linux 9.6 Extended Update Support 2:2.11.7-1.el9_6.7
  • freerdp3 Debian 13 3.15.0+dfsg-2.1+deb13u2
  • freerdp3 Debian 14 3.24.0+dfsg-1

debian advisories DEBIAN-CVE-2026-31806

  • freerdp3 Ubuntu 24.04 LTS 3.30.0+dfsg-0ubuntu0.24.04.1

ubuntu advisories UBUNTU-CVE-2026-31806

Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

  • freerdp RHEL 10.2 2:3.10.3-12.el10_2.2
  • libwinpr RHEL 10.2 2:3.10.3-12.el10_2.2
  • freerdp-libs RHEL 10.2 2:3.10.3-12.el10_2.2
  • freerdp-server RHEL 10.2 2:3.10.3-12.el10_2.2
  • freerdp RHEL 8 2:2.11.7-6.el8_10
  • libwinpr RHEL 8 2:2.11.7-6.el8_10
  • freerdp-libs RHEL 8 2:2.11.7-6.el8_10
  • freerdp RHEL 10.1 2:3.10.3-5.el10_1.5

red hat advisories RHSA-2026:19033RHSA-2026:11323RHSA-2026:10951RHSA-2026:10735RHSA-2026:10734RHSA-2026:9640

  • freerdp SLE Workstation Extension 15 SP7, SLE Module for Package Hub 15 SP7 3.10.3-150700.3.9.1
  • freerdp2 SLE Workstation Extension 15 SP7, SLE Module for Package Hub 15 SP7 2.11.7-150700.3.14.1
  • freerdp SLE Module for Package Hub 15 SP7, openSUSE Leap 15.6 2.11.2-150600.4.18.1
  • freerdp SLE Module for Package Hub 15 SP7 2.4.0-150400.3.47.1
  • freerdp SLES LTSS Extended Security 12 SP5, SLES 12 SP5-LTSS 2.1.2-12.63.1

suse advisories SUSE-SU-2026:1398-1SUSE-SU-2026:1165-1SUSE-SU-2026:1164-1SUSE-SU-2026:1160-1SUSE-SU-2026:1129-1

  • freerdp2 openSUSE Tumbleweed 2.11.7-6.1
  • freerdp openSUSE Tumbleweed 3.24.1-1.1

opensuse advisories openSUSE-SU-2026:10459-1openSUSE-SU-2026:10408-1

  • freerdp AlmaLinux 10 2:3.10.3-5.el10_1.5
  • libwinpr AlmaLinux 10 2:3.10.3-5.el10_1.5
  • freerdp-libs AlmaLinux 10 2:3.10.3-5.el10_1.5
  • freerdp-server AlmaLinux 10 2:3.10.3-5.el10_1.5
  • freerdp AlmaLinux 8 2:2.11.7-6.el8_10
  • libwinpr AlmaLinux 8 2:2.11.7-6.el8_10
  • freerdp-libs AlmaLinux 8 2:2.11.7-6.el8_10
  • freerdp AlmaLinux 9 2:2.11.7-1.el9_7.5

almalinux advisories ALSA-2026:6799ALSA-2026:6918ALSA-2026:6340

  • freerdp Rocky Linux 10 2:3.10.3-5.el10_1.5
  • freerdp Rocky Linux 8 2:2.11.7-6.el8_10
  • freerdp Rocky Linux 9 2:2.11.7-1.el9_7.5

rocky linux advisories RLSA-2026:6799RLSA-2026:6918RLSA-2026:6340

  • freerdp Alpine 3.24, Alpine 3.23 3.24.0-r0

alpine advisories ALPINE-CVE-2026-31806

Alpine secdb © Alpine Linux, from https://secdb.alpinelinux.org via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0

Vendor advisories

What the vendors themselves say about their products: affected, fixed or not affected, and what to do.

red hat product security vex CVE-2026-31806 updated cvss 8.8

freerdp: FreeRDP: Arbitrary code execution via crafted Remote Desktop Protocol (RDP) server messages

  • Red Hat CodeReady Linux Builder EUS (v.9.4) freerdp-devel 2.11.2-1.el9_4.5, libwinpr-devel 2.11.2-1.el9_4.5, freerdp-debuginfo 2.11.2-1.el9_4.5, libwinpr-debuginfo 2.11.2-1.el9_4.5, freerdp-debugsource 2.11.2-1.el9_4.5, freerdp-libs-debuginfo 2.11.2-1.el9_4.5
    fixed: vendor fix RHSA-2026:6958
  • Red Hat CodeReady Linux Builder EUS (v.9.6) freerdp-devel 2.11.7-1.el9_6.7, libwinpr-devel 2.11.7-1.el9_6.7, freerdp-debuginfo 2.11.7-1.el9_6.7, libwinpr-debuginfo 2.11.7-1.el9_6.7, freerdp-debugsource 2.11.7-1.el9_6.7, freerdp-libs-debuginfo 2.11.7-1.el9_6.7
    fixed: vendor fix RHSA-2026:6727
  • Red Hat Enterprise Linux AppStream (v. 8) freerdp 2.11.7-6.el8_10, libwinpr 2.11.7-6.el8_10, freerdp-libs 2.11.7-6.el8_10
    fixed: vendor fix RHSA-2026:6918
  • Red Hat Enterprise Linux AppStream (v. 9) freerdp 2.11.7-1.el9_7.5, libwinpr 2.11.7-1.el9_7.5, freerdp-libs 2.11.7-1.el9_7.5
    fixed: vendor fix RHSA-2026:6340
  • Red Hat Enterprise Linux AppStream (v. 10) freerdp 3.10.3-5.el10_1.5, freerdp 3.10.3-12.el10_2.2, libwinpr 3.10.3-5.el10_1.5, libwinpr 3.10.3-12.el10_2.2, freerdp-libs 3.10.3-5.el10_1.5, freerdp-libs 3.10.3-12.el10_2.2
    fixed: vendor fix RHSA-2026:6799
  • Red Hat Enterprise Linux AppStream AUS (v. 8.2) freerdp 2.0.0-46.rc4.el8_2.10, libwinpr 2.0.0-46.rc4.el8_2.10, freerdp-libs 2.0.0-46.rc4.el8_2.10
    fixed: vendor fix RHSA-2026:10734
  • Red Hat Enterprise Linux AppStream AUS (v.8.4) freerdp 2.2.0-12.el8_4, libwinpr 2.2.0-12.el8_4, freerdp-libs 2.2.0-12.el8_4
    fixed: vendor fix RHSA-2026:10735
  • Red Hat Enterprise Linux AppStream AUS (v.8.6) freerdp 2.2.0-7.el8_6.5, libwinpr 2.2.0-7.el8_6.5, freerdp-libs 2.2.0-7.el8_6.5 Red Hat Enterprise Linux AppStream E4S (v.8.6) freerdp 2.2.0-7.el8_6.5, libwinpr 2.2.0-7.el8_6.5, freerdp-libs 2.2.0-7.el8_6.5
    fixed: vendor fix RHSA-2026:10951
show 15 more
  • Red Hat Enterprise Linux AppStream E4S (v.8.8) freerdp 2.2.0-12.el8_8.5, libwinpr 2.2.0-12.el8_8.5, freerdp-libs 2.2.0-12.el8_8.5
    fixed: vendor fix RHSA-2026:10076
  • Red Hat Enterprise Linux AppStream E4S (v.9.0) freerdp 2.4.1-3.el9_0.4, libwinpr 2.4.1-3.el9_0.4, freerdp-libs 2.4.1-3.el9_0.4
    fixed: vendor fix RHSA-2026:9640
  • Red Hat Enterprise Linux AppStream E4S (v.9.2) freerdp 2.4.1-6.el9_2.6, libwinpr 2.4.1-6.el9_2.6, freerdp-libs 2.4.1-6.el9_2.6
    fixed: vendor fix RHSA-2026:9641
  • Red Hat Enterprise Linux AppStream EUS (v. 10.0) freerdp 3.10.3-3.el10_0.5, libwinpr 3.10.3-3.el10_0.5, freerdp-libs 3.10.3-3.el10_0.5
    fixed: vendor fix RHSA-2026:6743
  • Red Hat Enterprise Linux AppStream EUS (v.9.4) freerdp 2.11.2-1.el9_4.5, libwinpr 2.11.2-1.el9_4.5, freerdp-libs 2.11.2-1.el9_4.5
    fixed: vendor fix RHSA-2026:6958
  • Red Hat Enterprise Linux AppStream EUS (v.9.6) freerdp 2.11.7-1.el9_6.7, libwinpr 2.11.7-1.el9_6.7, freerdp-libs 2.11.7-1.el9_6.7
    fixed: vendor fix RHSA-2026:6727
  • Red Hat Enterprise Linux AppStream EUS EXTENSION (v.8.4) freerdp 2.2.0-12.el8_4, libwinpr 2.2.0-12.el8_4, freerdp-libs 2.2.0-12.el8_4
    fixed: vendor fix RHSA-2026:10735
  • Red Hat Enterprise Linux AppStream TUS (v.8.6) freerdp 2.2.0-7.el8_6.5, libwinpr 2.2.0-7.el8_6.5, freerdp-libs 2.2.0-7.el8_6.5
    fixed: vendor fix RHSA-2026:10951
  • Red Hat Enterprise Linux AppStream TUS (v.8.8) freerdp 2.2.0-12.el8_8.5, libwinpr 2.2.0-12.el8_8.5, freerdp-libs 2.2.0-12.el8_8.5
    fixed: vendor fix RHSA-2026:10076
  • Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) freerdp-devel 2.11.7-1.el9_7.5, libwinpr-devel 2.11.7-1.el9_7.5, freerdp-debuginfo 2.11.7-1.el9_7.5, libwinpr-debuginfo 2.11.7-1.el9_7.5, freerdp-debugsource 2.11.7-1.el9_7.5, freerdp-libs-debuginfo 2.11.7-1.el9_7.5
    fixed: vendor fix RHSA-2026:6340
  • Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) freerdp-server 3.10.3-5.el10_1.5, freerdp-server 3.10.3-12.el10_2.2
    fixed: vendor fix RHSA-2026:6799
  • Red Hat Enterprise Linux CodeReady Linux Builder EUS (v. 10.0) freerdp-server 3.10.3-3.el10_0.5
    fixed: vendor fix RHSA-2026:6743
  • Red Hat Enterprise Linux CRB (v. 8) freerdp-devel 2.11.7-6.el8_10, freerdp-debuginfo 2.11.7-6.el8_10, libwinpr-debuginfo 2.11.7-6.el8_10, freerdp-debugsource 2.11.7-6.el8_10, freerdp-libs-debuginfo 2.11.7-6.el8_10
    fixed: vendor fix RHSA-2026:6918
  • Red Hat Enterprise Linux Server (v. 7 ELS) freerdp 2.1.1-5.el7_9.7, libwinpr 2.1.1-5.el7_9.7, freerdp-libs 2.1.1-5.el7_9.7 Red Hat Enterprise Linux Server Optional (v. 7 ELS) freerdp-devel 2.1.1-5.el7_9.7, libwinpr-devel 2.1.1-5.el7_9.7, freerdp-debuginfo 2.1.1-5.el7_9.7
    fixed: vendor fix RHSA-2026:11323
  • Red Hat Enterprise Linux 6 freerdp, freerdp-libs, freerdp-plugins
    not affected: vulnerable code not present

Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf

CISA SSVC

Exploitation
none
Automatable
yes
Technical impact
total
Assessed
7 mo ago

Exploit prediction

0.75% chance of exploitation in the next 30 days, higher than 55% of all scored CVEs (FIRST EPSS, 2026-11-08).

Exploits and checks

  • github.com https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-rrqm-46rj-cmx2 referenced PoC, tagged "exploit" by a source, unverified

CVSS scores

assigned by version score vector
CNA 4.0 9.3 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
CISA ADP 3.1 8.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
CNA 4.0 9.3 CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
NVD 3.1 9.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CNA 3.1 8.8 CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

Affected products

  • FreeRDP FreeRDP
  • Red Hat Red Hat Enterprise Linux 10
  • Red Hat Red Hat Enterprise Linux 10.0 Extended Update Support
  • Red Hat Red Hat Enterprise Linux 7 Extended Lifecycle Support
  • Red Hat Red Hat Enterprise Linux 8
  • Red Hat Red Hat Enterprise Linux 8.2 Advanced Update Support
  • Red Hat Red Hat Enterprise Linux 8.4 Advanced Mission Critical Update Support
  • Red Hat Red Hat Enterprise Linux 8.4 Extended Update Support Long-Life Add-On
  • Red Hat Red Hat Enterprise Linux 8.6 Advanced Mission Critical Update Support
  • Red Hat Red Hat Enterprise Linux 8.6 Telecommunications Update Service
  • Red Hat Red Hat Enterprise Linux 8.6 Update Services for SAP Solutions
  • Red Hat Red Hat Enterprise Linux 8.8 Telecommunications Update Service
  • Red Hat Red Hat Enterprise Linux 8.8 Update Services for SAP Solutions
  • Red Hat Red Hat Enterprise Linux 9
  • Red Hat Red Hat Enterprise Linux 9.0 Update Services for SAP Solutions
  • Red Hat Red Hat Enterprise Linux 9.2 Update Services for SAP Solutions
  • Red Hat Red Hat Enterprise Linux 9.4 Extended Update Support
  • Red Hat Red Hat Enterprise Linux 9.6 Extended Update Support
  • Red Hat Red Hat Enterprise Linux 6

Classification

Weakness
  • CWE-122 Heap-based Buffer Overflow
  • CWE-131 Incorrect Calculation of Buffer Size

References

Sources

Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.

CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.