FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.21.0, a client-side heap buffer overflow occurs in the FreeRDP client’s gdi_SurfaceToSurface path due to a mismatch between destination rectangle clamping and the actual copy size. A malicious server can trigger a client‑side heap buffer overflow, causing a crash (DoS) and potential heap corruption with code‑execution risk depending on allocator behavior and surrounding heap layout. Version 3.21.0 contains a patch for the issue.
A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc().
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Freerdp | Freerdp | * | 3.21.0 (excluding) |
| Red Hat Enterprise Linux 10 | RedHat | freerdp-2:3.10.3-5.el10_1.1 | * |
| Red Hat Enterprise Linux 10.0 Extended Update Support | RedHat | freerdp-2:3.10.3-3.el10_0.1 | * |
| Red Hat Enterprise Linux 7 Extended Lifecycle Support | RedHat | freerdp-0:2.1.1-5.el7_9.1 | * |
| Red Hat Enterprise Linux 8 | RedHat | freerdp-2:2.11.7-2.el8_10 | * |
| Red Hat Enterprise Linux 9 | RedHat | freerdp-2:2.11.7-1.el9_7.1 | * |
| Red Hat Enterprise Linux 9.0 Update Services for SAP Solutions | RedHat | freerdp-2:2.4.1-3.el9_0 | * |
| Red Hat Enterprise Linux 9.2 Update Services for SAP Solutions | RedHat | freerdp-2:2.4.1-6.el9_2.2 | * |
| Red Hat Enterprise Linux 9.4 Extended Update Support | RedHat | freerdp-2:2.11.2-1.el9_4.1 | * |
| Freerdp2 | Ubuntu | esm-apps/noble | * |
| Freerdp2 | Ubuntu | esm-infra/bionic | * |
| Freerdp2 | Ubuntu | esm-infra/focal | * |
| Freerdp2 | Ubuntu | jammy | * |
| Freerdp2 | Ubuntu | noble | * |
| Freerdp3 | Ubuntu | noble | * |
| Freerdp3 | Ubuntu | questing | * |
| Freerdp3 | Ubuntu | upstream | * |