CVE-2026-91947
moderateUse-After-Free in FreeRDP Server DRDYNVC Parser (versions before 3.31.0)
FreeRDP server versions before 3.31.0 contain a heap use-after-free (CWE-362 race condition) in the DRDYNVC (dynamic virtual channel) parser, caused by dereferencing a channel pointer after the synchronization lock has been released. An authenticated RDP client can trigger it by racing AUDIN (audio-input) channel closure messages against DRDYNVC data parsing, causing the server to access a channel object that has already been freed. Successful exploitation can crash the server or potentially lead to code execution with the privileges of the RDP server process (CVSS 4.0: 7.7, high impact on confidentiality, integrity, and availability). Any deployment running FreeRDP in server mode on a version earlier than 3.31.0 is affected; the attacker must hold valid RDP credentials, so this is primarily a privilege-escalation or service-disruption vector from an authenticated session. No public proof-of-concept exists, the flaw is not on the CISA KEV list, and no exploitation in the wild has been reported.
What to do: Upgrade FreeRDP to version 3.31.0 or later on any host running FreeRDP in server mode, including products that embed the FreeRDP server library. Until patched, restrict RDP exposure to trusted networks or VPN-only access, minimize the number of enabled accounts, and consider disabling audio-input (AUDIN) redirection for untrusted clients. Review server logs and crash dumps for abnormal terminations in the DRDYNVC or AUDIN parsing paths, which could indicate exploitation attempts.
| FreeRDP (server component) | before 3.31.0 |
Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.
FreeRDP server versions before 3.31.0 contain a use-after-free vulnerability in the DRDYNVC parser that dereferences a channel pointer after releasing the synchronization lock. Authenticated clients can race AUDIN channel closure messages against DRDYNVC data parsing to trigger heap-use-after-free when accessing freed channel objects.
- Weakness
- CWE-362
- Vector
- CVSS:4.0/AV:N/AC:H/AT:P/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
In the news0 stories
No ingested article mentions this CVE yet.