Executive brief
FreeRDP is an open-source tool used to connect to remote computers via the Remote Desktop Protocol (RDP). A security flaw in how the software handles certain data packets could allow a malicious server to crash the client application or potentially execute unauthorized code on the user's machine. This could lead to a full system compromise or the theft of sensitive data from the user's session.
Technical details
A heap-based buffer overflow exists in FreeRDP's RDPEAR (Remote Desktop Protocol Enhanced Authentication and RestrictedAdmin) component within the NDR (Network Data Representation) array reader. The function 'ndr_read_pointedMessageEx' allocates a buffer based on 'hints->count', but the subsequent call to 'ndr_read_uconformant_array' reads an element count directly from the network stream without verifying it against the allocated size. An attacker-controlled 'count' larger than the 'hints' value results in an out-of-bounds write during the uint8 array reading loop. This vulnerability can be triggered by a malicious RDP server or a man-in-the-middle attacker to achieve remote code execution or a denial-of-service on the client. The issue is resolved in version 3.20.1.
Affected products
- FreeRDP FreeRDP < 3.20.1
- Red Hat Red Hat Enterprise Linux AppStream 10.0, 10.1, 10.2
- Red Hat Red Hat Enterprise Linux 6 6
Timeline
- 2026-01-14: advisory: GitHub Security Advisory GHSA-47v9-p4gp-w5ch published
- 2026-01-14: patched: FreeRDP version 3.20.1 released
- 2026-01-14: disclosed: CVE-2026-22853 published
- 2026-05-19: patched: Red Hat released security updates for RHEL 10
References
- https://github.com/FreeRDP/FreeRDP/releases/tag/3.20.1
- https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-47v9-p4gp-w5ch
- https://access.redhat.com/errata/RHSA-2026:19033
- https://access.redhat.com/errata/RHSA-2026:3068
- https://access.redhat.com/errata/RHSA-2026:4121
- https://access.redhat.com/security/cve/CVE-2026-22853
- https://bugzilla.redhat.com/show_bug.cgi?id=2429647