ZeroHour

CVE-2026-91947

moderate

Use-After-Free in FreeRDP Server DRDYNVC Parser (versions before 3.31.0)

CVSS 4.0
7.7 high
EPSS
Published
()
Modified
AI analysis

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.

Affected
FreeRDP (server component)before 3.31.0
Estimated exposure
moderatelikely in the low thousands of internet-exposed FreeRDP-based RDP servers (order of magnitude ≈1k–10k), plus an unknown number of internal/embedded deployments — FreeRDP's server component represents a small slice of the millions of internet-exposed RDP endpoints (most of which are native Windows RDP or xrdp), and exploitation additionally requires valid credentials, so the practically reachable…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

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 news

No ingested article mentions this CVE yet.