CVE-2026-91947 in FreeRDPinfo

Summary

by MITRE • 09/15/2026

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.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Analysis

by VulDB Data Team • 09/15/2026

The identified security flaw resides within the Dynamic Virtual Channel (DRDYNVC) parser of FreeRDP server versions prior to 3.31.0, representing a critical memory safety vulnerability classified under CWE-416 as Use After Free. This specific implementation error occurs when the application attempts to dereference a channel pointer after the associated synchronization lock has been released and the underlying object has already been deallocated from heap memory. The root cause lies in improper handling of concurrent operations, where the lifecycle management of virtual channels does not strictly enforce mutual exclusion during critical access points, allowing for race conditions that compromise data integrity and application stability.

The operational impact is significant because this vulnerability can be triggered by authenticated clients who possess valid credentials to connect to the FreeRDP server. By carefully timing AUDIN channel closure messages against DRDYNVC data parsing operations, an attacker can exploit a time-of-check-to-time-of-use scenario. This race condition allows the client to force the system into a state where it accesses memory that has already been freed by another thread or process context. Such heap-based use-after-free conditions typically lead to application crashes resulting in denial of service, but more critically they may allow for arbitrary code execution if an attacker can precisely control the contents of the reclaimed memory region and manipulate subsequent pointer dereferences.

From a threat modeling perspective aligned with MITRE ATT&CK frameworks, this vulnerability facilitates initial access or privilege escalation depending on the context of exploitation. The ability to trigger heap corruption through race conditions is often associated with techniques involving dynamic code injection or buffer overflow exploits that leverage unstable memory states. Attackers could potentially use this flaw to bypass security controls by corrupting internal data structures used for authentication or session management, thereby undermining the integrity of the remote desktop infrastructure.

Mitigation strategies primarily involve upgrading to FreeRDP version 3.31.0 or later where these synchronization issues have been addressed in the codebase. For environments unable to immediately patch, implementing strict network segmentation and limiting access to authenticated users with minimal privileges can reduce the attack surface. Additionally, deploying intrusion detection systems capable of identifying anomalous patterns of rapid channel closure requests combined with high-frequency data parsing may help detect exploitation attempts before they result in successful memory corruption. Regular security audits focusing on concurrent programming practices and race condition vulnerabilities are recommended to prevent similar issues in future software updates.

Responsible

VulnCheck

Reservation

09/15/2026

Disclosure

09/15/2026

Moderation

accepted

CPE

ready

EPSS

0.00000

KEV

no

Activities

very low

Sources

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!