CVE-2026-31806

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.
Configurations

Configuration 1 (hide)

cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:*

History

30 Jun 2026, 03:18

Type Values Removed Values Added
References
  • () https://access.redhat.com/errata/RHSA-2026:10076 -
  • () https://access.redhat.com/errata/RHSA-2026:10734 -
  • () https://access.redhat.com/errata/RHSA-2026:10735 -
  • () https://access.redhat.com/errata/RHSA-2026:10951 -
  • () https://access.redhat.com/errata/RHSA-2026:11323 -
  • () https://access.redhat.com/errata/RHSA-2026:19033 -
  • () https://access.redhat.com/errata/RHSA-2026:6340 -
  • () https://access.redhat.com/errata/RHSA-2026:6727 -
  • () https://access.redhat.com/errata/RHSA-2026:6743 -
  • () https://access.redhat.com/errata/RHSA-2026:6799 -
  • () https://access.redhat.com/errata/RHSA-2026:6918 -
  • () https://access.redhat.com/errata/RHSA-2026:6958 -
  • () https://access.redhat.com/errata/RHSA-2026:9640 -
  • () https://access.redhat.com/errata/RHSA-2026:9641 -
  • () https://access.redhat.com/security/cve/CVE-2026-31806 -
  • () https://bugzilla.redhat.com/show_bug.cgi?id=2447376 -
  • () https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-31806.json -
CWE CWE-131

17 Jun 2026, 10:34

Type Values Removed Values Added
Summary
  • (es) FreeRDP es una implementación gratuita del Protocolo de Escritorio Remoto. Antes de la versión 3.24.0, la función gdi_surface_bits() procesa los mensajes SURFACE_BITS_COMMAND enviados por el servidor RDP. Cuando el comando se maneja usando NSCodec, los valores bmp.width y bmp.height proporcionados por el servidor no se validan correctamente contra las dimensiones reales del escritorio. Un servidor RDP malicioso puede proporcionar valores bmp.width y bmp.height manipulados que exceden el tamaño de superficie esperado. Debido a que estos valores se utilizan durante la decodificación de mapas de bits y las operaciones de memoria sin una verificación de límites adecuada, esto puede conducir a un desbordamiento de búfer de pila. Dado que el atacante también puede controlar los datos de píxeles asociados transmitidos por el servidor, el desbordamiento puede ser explotable para sobrescribir memoria de pila adyacente. Esta vulnerabilidad está corregida en la versión 3.24.0.

17 Mar 2026, 14:27

Type Values Removed Values Added
References () https://github.com/FreeRDP/FreeRDP/commit/83d9aedea278a74af3e490ff5eeb889c016dbb2b - () https://github.com/FreeRDP/FreeRDP/commit/83d9aedea278a74af3e490ff5eeb889c016dbb2b - Patch
References () https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-rrqm-46rj-cmx2 - () https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-rrqm-46rj-cmx2 - Exploit, Patch, Vendor Advisory
CPE cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:*
First Time Freerdp
Freerdp freerdp
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 9.8

13 Mar 2026, 19:54

Type Values Removed Values Added
New CVE

Information

Published : 2026-03-13 19:54

Updated : 2026-07-15 02:19


NVD link : CVE-2026-31806

Mitre link : CVE-2026-31806

CVE.ORG link : CVE-2026-31806


JSON object : View

Products Affected

freerdp

  • freerdp
CWE
CWE-122

Heap-based Buffer Overflow

CWE-131

Incorrect Calculation of Buffer Size