Sceawere
Vulnerability Detail
CVE-2026-91947UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV
FreeRDP DRDYNVC Use-After-Free Vulnerability
Vulnerability Metadata
- Severity
- High
- Score / CVSS
- 7.5
- Creation Date
- 3h ago
- Vendor
- FreeRDP
- Product
- FreeRDP
- Attack Type
- Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')
- Vector String
- CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
- Attack Complexity
- HIGH
Narrative and Response
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.
Executive Summary
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Technical Details
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Mitigations
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
References
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Additional Metadata
{
"score": "7.5",
"pubDate": "2026-09-15T16:17:48.353Z",
"pubdate": "2026-09-15T16:17:48.353Z",
"executiveSummary": "A critical use-after-free vulnerability exists in the DRDYNVC parser within FreeRDP server versions prior to 3.31.0. The vulnerability stems from improper synchronization handling when processing channel closure messages.\nSuccessful exploitation allows an authenticated remote attacker to execute arbitrary code or cause a denial-of-service condition by triggering a heap-use-after-free state.\nThe vulnerability occurs when a race condition is induced between the AUDIN channel closure process and concurrent DRDYNVC data parsing operations. Because the synchronization lock is released before the channel pointer is dereferenced, the memory associated with the channel object is susceptible to premature deallocation.\nThis flaw necessitates that an attacker has established an authenticated session with the target FreeRDP server. The exploitation relies on precise timing to win the race condition, leading to memory corruption. Given the nature of RDP services, this poses a significant risk to the integrity and availability of the host system. Organizations utilizing FreeRDP should prioritize updating to version 3.31.0 or later to eliminate the underlying memory management defect.",
"technicalDetails": "The root cause of this vulnerability lies in the DRDYNVC parser's handling of inter-thread synchronization within the FreeRDP server. During the standard operation of the Dynamic Virtual Channel (DRDYNVC) protocol, the system maintains pointers to active channel objects that facilitate data transport. These objects are protected by synchronization locks to ensure thread-safe access during packet processing and state updates.\nThe vulnerability is triggered during the teardown sequence of an AUDIN channel. When the server processes an AUDIN channel closure request, it initiates a deallocation routine for the associated channel object. The flaw exists in the DRDYNVC parser, which fails to maintain exclusive access to the channel pointer through the entirety of the parsing operation. Specifically, the synchronization lock protecting the channel state is released while the pointer remains in use for subsequent parsing logic.\nAn authenticated attacker can exploit this by initiating a race condition. The attack flow involves the following sequence: First, the attacker establishes a valid RDP session and opens a DRDYNVC connection. Second, the attacker sends a specifically crafted sequence of packets designed to initiate an AUDIN channel closure. Third, the attacker floods the server with concurrent DRDYNVC data packets. By timing these requests, the attacker induces the server to execute the parser logic on a pointer that has already been released by the channel closure routine.\nBecause the server dereferences the stale pointer after the lock has been released, it accesses memory that has been returned to the heap allocator. If the attacker can manipulate the heap state through memory spraying or other allocations, they may cause the server to reference attacker-controlled data. This leads to a heap-use-after-free scenario, which can be leveraged to corrupt control flow structures or bypass existing memory safety mechanisms. The complexity of the race condition requires significant synchronization between the attacker's client and the server's event loop to achieve reliable exploitation. The post-exploitation impact includes the potential for arbitrary code execution with the privileges of the FreeRDP server process, or alternatively, a crash of the service causing a denial-of-service condition."
}