ZeroHour

CVE-2026-91951

large

Out-of-Bounds Write in FreeRDP USB Redirection Channel (Pre-3.31.0)

CVSS 4.0
7.1 high
EPSS
Published
()
Modified
AI analysis

FreeRDP versions before 3.31.0 contain an out-of-bounds write in the urbdrc USB redirection client channel, specifically in the urb_send_current_frame_number_result() function. A malicious RDP server can send a crafted 28-byte USB redirection message that triggers a 4-byte write past an allocated 16-byte buffer when a victim client connects with USB redirection enabled. The impact is denial of service — the client crashes when verbose asserts are enabled (CWE-617 reachable assertion) — with no confidentiality or integrity impact per the CVSS vector, which also requires user interaction since the victim must initiate the connection to the attacker's server. Anyone running an FreeRDP-based client (such as xfreerdp/sdl-freerdp) older than 3.31.0 with USB redirection active is affected, and the libfreerdp library is bundled into third-party products that inherit the flaw until they ship an updated build. No public proof of concept exists, the issue is not in CISA's KEV catalog, and no exploitation has been observed.

What to do: Upgrade to FreeRDP 3.31.0 or later, or apply your distribution's backported patch. Avoid enabling USB redirection (/usb:...) when connecting to untrusted or unknown RDP servers, since exploitation requires the victim to connect to a malicious server. If your product bundles libfreerdp, rebuild against the fixed version and push an update to downstream users.

Affected
FreeRDPall versions before 3.31.0
Estimated exposure
largelikely hundreds of thousands to low millions of client installations worldwide, with only the subset enabling USB redirection directly at risk — FreeRDP is the standard open-source RDP client packaged in major Linux distributions and embedded in third-party products, but no active-install counts are published and client-side flaws are not visible to internet-wide scans, so this is…

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

Description

FreeRDP versions before 3.31.0 contain an out-of-bounds write vulnerability in the urbdrc client channel's urb_send_current_frame_number_result() function. A malicious RDP server can send a crafted 28-byte USB redirection message to trigger a 4-byte write past the allocated 16-byte buffer, causing denial of service when verbose asserts are enabled.

Weakness
CWE-617
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 news

No ingested article mentions this CVE yet.