FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.28.0, rdpsnd_server_recv_formats in channels/rdpsnd/server/rdpsnd_main.c frees context->client_formats on a malformed Client Audio Formats PDU without clearing the owning pointer or num_client_formats. An authenticated RDP client can trigger an error such as a cbSize larger than the remaining record, leave the dangling pointer in the server context, and cause rdpsnd_server_context_free to free the same allocation again at session teardown. This reliably terminates the server and can create allocator-dependent heap corruption. This issue is fixed in version 3.28.0.
Fix
Patch, vendor advisory and mitigation references on NVD 4
- https://github.com/FreeRDP/FreeRDP/commit/caf653c0ba1c75ec8f298d1baa59770102a5d14c Patch
- https://github.com/FreeRDP/FreeRDP/pull/12993 Issue Tracking, Patch
- https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-9g22-w2gr-vcmp Exploit, Mitigation, Vendor Advisory
- https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-9g22-w2gr-vcmp Exploit, Mitigation, Vendor Advisory
Every line above is quoted from NVD, CISA, Microsoft, the vendor's own advisory or DISA; nothing is generated.
Change history 1
- First seenCVSS 7.1 · freerdpNVD modified 2026-10-26 11:10
Affected (CPE criteria) 1
cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:*
References 5
- https://github.com/FreeRDP/FreeRDP/commit/caf653c0ba1c75ec8f298d1baa59770102a5d14c Patch
- https://github.com/FreeRDP/FreeRDP/pull/12993 Issue Tracking, Patch
- https://github.com/FreeRDP/FreeRDP/releases/tag/3.28.0 Release Notes
- https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-9g22-w2gr-vcmp Exploit, Mitigation, Vendor Advisory
- https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-9g22-w2gr-vcmp Exploit, Mitigation, Vendor Advisory