
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-22859 is a heap buffer overflow (out-of-bounds read) vulnerability in the URBDRC client of FreeRDP, a free implementation of the Remote Desktop Protocol. The flaw exists in all FreeRDP versions prior to 3.20.1, where server-supplied MSUSB_INTERFACE_DESCRIPTOR values are used as array indices without bounds checking in libusb_udev_complete_msconfig_setup, enabling an out-of-bounds read. It was disclosed on January 14, 2026, and fixed in FreeRDP 3.20.1 released the same day. The vulnerability carries a CVSS v3.1 base score of 9.1 (Critical) and a CVSS v4.0 base score of 5.6 (Medium) (GitHub Advisory, Red Hat Bugzilla).
The root cause is classified as CWE-125 (Out-of-bounds Read) and CWE-129 (Improper Validation of Array Index). In data_transfer.c, TS_URB_SELECT_CONFIGURATION data is parsed directly from the RDP channel stream via msusb_msconfig_read(), and the resulting MSUSB_INTERFACE_DESCRIPTOR fields InterfaceNumber and AlternateSetting are passed without validation to libusb_udev_complete_msconfig_setup() in libusb_udevice.c. This function then uses these untrusted values to index into LibusbConfig->interface[] and LibusbInterface->altsetting[] arrays, triggering a heap buffer overflow when the values exceed the actual device interface/altsetting counts. A public proof-of-concept is available in the GitHub security advisory, including a full AddressSanitizer trace demonstrating the heap-buffer-overflow at libusb_udevice.c:621 (GitHub Advisory).
A malicious or compromised RDP server can exploit this vulnerability by sending a crafted TS_URB_SELECT_CONFIGURATION message with oversized InterfaceNumber or AlternateSetting values to a connecting FreeRDP client with USB redirection enabled. This can result in memory disclosure (reading sensitive data from the client process heap) or a client crash causing denial of service; depending on heap layout and allocator behavior, heap corruption with potential code execution risk is also possible. Only FreeRDP-based clients are affected; FreeRDP-based servers are not impacted (GitHub Advisory, FreeRDP Release).
A proof-of-concept exploit is publicly available in the FreeRDP GitHub security advisory, demonstrating the heap buffer overflow with AddressSanitizer output. The vulnerability requires no authentication and no privileges on the attacker's side — only that the victim client connects to a malicious RDP server with USB redirection (URBDRC) enabled. There is no evidence of in-the-wild exploitation at this time. The EPSS score is approximately 0.042% (low probability of exploitation in the near term), and the vulnerability is not listed in the CISA KEV catalog. CVSS v4.0 exploit maturity is rated as Proof-of-Concept (GitHub Advisory, Red Hat Bugzilla).
/usb or URBDRC plugin active) to connect to the malicious server.TS_URB_SELECT_CONFIGURATION message via the channel stream.NumInterfaces=1 and provide an interface descriptor where InterfaceNumber or AlternateSetting is set to a value larger than the actual device's interface or altsetting count (e.g., a large integer).libusb_udev_complete_msconfig_setup(), which indexes LibusbConfig->interface[] or LibusbInterface->altsetting[] out of bounds, causing a heap buffer overflow read.xfreerdp, wfreerdp, etc.) during or shortly after RDP connection establishment with USB redirection enabled.libusb_udevice.c:621 (libusb_udev_complete_msconfig_setup) or data_transfer.c:554 (urb_select_configuration) in application crash logs or core dumps.TS_URB_SELECT_CONFIGURATION messages with anomalous NumInterfaces or descriptor field values in network captures./var/crash/, indicating abnormal termination.Upgrade FreeRDP to version 3.20.1 or later, which includes bounds checking on MSUSB_INTERFACE_DESCRIPTOR values before they are used as array indices (FreeRDP Release). Red Hat has issued patches for RHEL 7 through 10 via multiple errata (RHSA-2026:3067, RHSA-2026:3068, RHSA-2026:3334, and others); users of affected RHEL versions should apply the relevant errata (Red Hat Bugzilla). As an interim workaround for systems that cannot be updated immediately, disable USB redirection in FreeRDP (do not use the /usb flag or URBDRC plugin) and restrict RDP client connections to trusted servers only using network-level controls.
CVE-2026-22859 was one of nine medium-severity vulnerabilities disclosed by the FreeRDP project on January 14, 2026, credited to security researcher ehdgks0627 for code review and testing. The FreeRDP maintainer (akallabeth) described the release as a "new years cleanup release" that addressed these findings. Multiple Linux distributions including Red Hat, SUSE, openSUSE, Ubuntu, Fedora, AlmaLinux, Rocky Linux, Oracle Linux, Amazon Linux, Debian, and Mageia have issued security advisories and updated packages. No significant independent researcher commentary or social media discussion beyond routine CVE tracking has been observed (FreeRDP Release, Red Hat Bugzilla).
Fix availability across major Linux distributions and their releases.
bookworm
freerdp2
sid
freerdp3: 3.20.2+dfsg-1
trixie
freerdp3: 3.15.0+dfsg-2.1+deb13u1
bionic (esm-apps)
freerdp
bionic (esm-infra)
freerdp2
devel
freerdp3: 3.20.2+dfsg-1
focal (esm-infra)
freerdp2
jammy
freerdp2
noble
freerdp3: 3.5.1+dfsg1-0ubuntu1.4
noble (esm-apps)
freerdp2
questing
freerdp3: 3.16.0+dfsg-2ubuntu0.3
RHEL 8
:appstream:freerdp-2:2.11.7-3.el8_10.src
RHEL 9
:appstream:freerdp-2:2.4.1-3.el9_0.1.src
RHEL 10
freerdp-2:3.10.3-3.el10_0.2.src
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."