ZeroHour

CVE-2026-91952

large

Infinite-Loop Denial of Service in FreeRDP Client AVC444 Decoding (pre-3.31.0)

CVSS 4.0
7.1 high
EPSS
Published
()
Modified
AI analysis

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.

Affected
FreeRDPbefore 3.31.0
Estimated exposure
large≈10M+ client installations (order of magnitude, clearly an estimate) — FreeRDP is the standard open-source RDP client library packaged in major Linux distributions (Debian, Ubuntu, Fedora) and embedded in thin-client and remote-desktop front-end firmware, so the installed base plausibly reaches into the…

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 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 news

No ingested article mentions this CVE yet.