CVE-2026-26986
Received Received - Intake
Use-After-Free in FreeRDP rail_window Component Causes Crash

Publication date: 2026-02-25

Last updated on: 2026-02-27

Assigner: GitHub, Inc.

Description
FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to version 3.23.0, `rail_window_free` dereferences a freed `xfAppWindow` pointer during `HashTable_Free` cleanup because `xf_rail_window_common` calls `free(appWindow)` on title allocation failure without first removing the entry from the `railWindows` hash table, leaving a dangling pointer that is freed again on disconnect. Version 3.23.0 fixes the vulnerability.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-02-25
Last Modified
2026-02-27
Generated
2026-05-07
AI Q&A
2026-02-26
EPSS Evaluated
2026-05-05
NVD
EUVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
freerdp freerdp to 3.23.0 (exc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
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?

This vulnerability exists in FreeRDP, a free implementation of the Remote Desktop Protocol, in versions prior to 3.23.0. The issue occurs because the function `rail_window_free` dereferences a pointer (`xfAppWindow`) that has already been freed during the cleanup process of a hash table (`HashTable_Free`). This happens because `xf_rail_window_common` calls `free(appWindow)` when there is a failure allocating a window title, but it does not remove the corresponding entry from the `railWindows` hash table first. As a result, a dangling pointer remains in the hash table and is freed again later upon disconnect, leading to a double-free condition.


How can this vulnerability impact me? :

The vulnerability can lead to a double-free condition, which may cause undefined behavior such as application crashes or potential exploitation by attackers. This could result in denial of service or possibly allow an attacker to execute arbitrary code or corrupt memory, depending on the environment and how the vulnerability is triggered.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

I don't know


How can this vulnerability be detected on my network or system? Can you suggest some commands?

I don't know


What immediate steps should I take to mitigate this vulnerability?

To mitigate this vulnerability, you should upgrade FreeRDP to version 3.23.0 or later, as this version contains the fix for the issue where a freed pointer is dereferenced during cleanup.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart