CVE-2026-23884
Use-After-Free in FreeRDP Offscreen Bitmap Causes DoS, Code Execution
Publication date: 2026-01-19
Last updated on: 2026-01-19
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| freerdp | freerdp | to 3.21.0 (exc) |
| freerdp | freerdp | 3.20.2 |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-416 | The product reuses or references memory after it has been freed. At some point afterward, the memory may be allocated again and saved in another pointer, while the original pointer references a location somewhere within the new allocation. Any operations using the original pointer are no longer valid because the memory "belongs" to the code that operates on the new pointer. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
CVE-2026-23884 is a heap-use-after-free vulnerability in FreeRDP versions prior to 3.21.0. It occurs because when an offscreen bitmap is deleted, a pointer (gdi->drawing) still references the freed memory. Later, when the program tries to use this pointer during graphical updates, it accesses invalid memory, causing a use-after-free condition. This can lead to a client crash (denial of service) and potentially heap corruption or remote code execution depending on memory allocator behavior and heap layout. [2]
How can this vulnerability impact me? :
This vulnerability can be exploited by a malicious RDP server to cause the FreeRDP client to crash, resulting in a denial of service. Additionally, it may lead to heap corruption and potentially allow remote code execution on the client machine, depending on the memory allocator and heap layout. This means an attacker could take control of the affected system or disrupt its normal operation. [2]
How can this vulnerability be detected on my network or system? Can you suggest some commands?
Detection of this vulnerability involves monitoring FreeRDP client crashes or abnormal behavior when connecting to RDP servers, especially if the client version is prior to 3.21.0. Since the vulnerability is triggered by malicious RDP servers sending crafted update packets, network detection could involve inspecting RDP traffic for suspicious or malformed CREATE_OFFSCREEN_BITMAP orders or update packets with ORDER_BOUNDS. However, no specific detection commands are provided in the resources. Using AddressSanitizer (ASan) during FreeRDP client runtime can help detect use-after-free errors in gdi_set_bounds (line 569 in gdi.c). [2]
What immediate steps should I take to mitigate this vulnerability?
The immediate mitigation step is to upgrade FreeRDP to version 3.21.0 or later, where the vulnerability has been patched. Avoid connecting to untrusted or potentially malicious RDP servers until the update is applied. There are no other specific mitigation commands or workarounds mentioned. [2]