CVE-2026-91952
largeInfinite-Loop Denial of Service in FreeRDP Client AVC444 Decoding (pre-3.31.0)
FreeRDP versions before 3.31.0 suffer an infinite-loop denial of service (CWE-835) in the pool_decode_rect function when decoding AVC444 metablocks that declare more region rectangles than the preallocated worker array can hold. The flaw is triggered when a client connects to a malicious (or compromised) RDP server that sends crafted AVC444 graphics stream updates, causing the threaded decode path to spin indefinitely. An attacker gains only availability impact: the client's CPU is consumed and normal remote-desktop operation is prevented, with no effect on confidentiality or integrity per the CVSS 4.0 vector (7.1, high; user interaction required). Anyone running a FreeRDP-based RDP client older than 3.31.0 — including distro-packaged clients, graphical front-ends like Remmina, and thin-client firmware embedding FreeRDP — is affected when connecting to an untrusted server. No public proof of concept exists, the CVE is not in CISA's KEV catalog, and no exploitation in the wild is known.
What to do: Upgrade FreeRDP to 3.31.0 or later, or apply your distribution's patched package (e.g., via apt/dnf updates) and push updated firmware for thin clients embedding older FreeRDP. Because exploitation requires connecting to a malicious RDP server, restrict RDP client use to known-trusted hosts and treat unexpected CPU pegging in RDP client processes as a possible indicator. Verify the running version on all client endpoints, especially embedded/thin-client deployments that receive updates slowly.
| 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 versions before 3.31.0 contain an infinite-loop denial of service in the pool_decode_rect function when decoding AVC444 metablocks with more region rectangles than preallocated worker array size. A malicious RDP server can send crafted AVC444 graphics updates causing the threaded decode path to loop indefinitely, consuming CPU and preventing normal client operation.
- Weakness
- CWE-835
- 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.