CVE-2026-91956
massOut-of-Bounds Read in FreeRDP URBDRC Channel Enables Client Crash via Malicious RDP Server
FreeRDP before 3.31.0 contains an out-of-bounds read (CWE-125) in the URBDRC (USB redirection) channel's func_get_ep_desc function, which indexes interface arrays by loop position rather than by the protocol-supplied InterfaceNumber field. A malicious or compromised RDP server can trigger the flaw by sending a crafted SELECT_CONFIGURATION message containing permuted InterfaceNumber values, causing the client to read past the end of allocated heap memory. The primary impact is denial of service against the connecting client, since the malformed access can crash the process; CVSS 4.0 rates it 7.1 (high) with high availability impact and no confidentiality or integrity impact. Any user of an affected FreeRDP-based client (such as xfreerdp or clients embedding the library) who connects to an attacker-controlled server is at risk, which is reflected in the UI:P (user interaction required) scoring metric. No public proof-of-concept is known and the flaw is not listed in CISA's KEV catalog, so exploitation in the wild is not currently indicated.
What to do: Upgrade FreeRDP to version 3.31.0 or later as soon as a patched package is available from your distribution or vendor. As an interim mitigation, disable USB device redirection (the URBDRC channel, e.g., the /usb option or equivalent GUI setting) and avoid connecting to untrusted or unknown RDP servers. Administrators should inventory embedded products that bundle FreeRDP and verify whether the vendor has shipped a backported fix.
| FreeRDP | 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 before 3.31.0 contains an out-of-bounds read vulnerability in the URBDRC channel's func_get_ep_desc function that indexes interface arrays by position instead of protocol field InterfaceNumber. A malicious RDP server can send a crafted SELECT_CONFIGURATION message with permuted InterfaceNumber values to read past allocated heap memory and crash the client.
- Weakness
- CWE-125
- Vector
- CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/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.