Executive brief
FreeRDP is an open-source tool used to connect to remote computers via the Remote Desktop Protocol. A security flaw in how the software processes image data could allow a malicious server to crash a user's connection or potentially take control of the user's computer. This risk is particularly high when connecting to untrusted or compromised remote servers.
Technical details
A heap-based buffer overflow exists in FreeRDP's ClearCodec implementation within the `clear_decompress_bands_data` function in `libfreerdp/codec/clear.c`. The vulnerability is triggered by insufficient validation of `xStart`, `xEnd`, `yStart`, and `yEnd` coordinates provided in a `WIRE_TO_SURFACE_PDU_1` stream. Specifically, the code checks if coordinates are greater than the destination bounds but fails to account for coordinates equal to the bounds, leading to an out-of-bounds write during the `FreeRDPWriteColor_int` operation. An attacker controlling a malicious RDP server can exploit this to cause a denial-of-service or achieve remote code execution on the client. The issue is resolved in version 3.21.0.
Affected products
- FreeRDP FreeRDP < 3.21.0
- Red Hat Enterprise Linux 8, 9, 10
Timeline
- 2026-01-19: advisory: GitHub Security Advisory and NVD entry published
- 2026-01-19: patched: FreeRDP version 3.21.0 released
- 2026-02-05: patched: Red Hat released security updates for RHEL 9
References
- https://github.com/FreeRDP/FreeRDP/blob/38514dfa5813aa945a86cfbcec279033f8394468/libfreerdp/codec/clear.c
- https://github.com/FreeRDP/FreeRDP/blob/38514dfa5813aa945a86cfbcec279033f8394468/libfreerdp/codec/clear.c
- https://github.com/FreeRDP/FreeRDP/releases/tag/3.21.0
- https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-3frr-mp8w-4599
- https://access.redhat.com/errata/RHSA-2026:2048
- https://access.redhat.com/errata/RHSA-2026:2081
- https://access.redhat.com/errata/RHSA-2026:2222