ZeroHour

CVE-2026-91960

large

Integer Overflow to Double Free in FreeRDP WebSocket Ping Frame Handling

CVSS 4.0
7.1 high
EPSS
Published
()
Modified
AI analysis

FreeRDP versions before 3.31.0 contain an integer overflow (CWE-190) in WinPR's Stream_EnsureRemainingCapacity function that can be exploited by a malicious RD Gateway peer during connection establishment. An attacker sends a WebSocket Ping frame with a crafted 64-bit extended payload length, causing integer wraparound that leads to a double free and crashes the FreeRDP client. Successful exploitation results in denial of service only — no code execution, privilege escalation, or data compromise is indicated by the CVSS vector (VC:N/VI:N/VA:H). The attack requires a user to connect to an attacker-controlled or compromised RD Gateway endpoint, limiting opportunistic exploitation. No public proof-of-concept or known in-the-wild exploitation has been reported at time of publication.

What to do: Upgrade FreeRDP to version 3.31.0 or later immediately. If immediate patching is not feasible, restrict or disable RD Gateway WebSocket connections to untrusted hosts and audit gateway endpoint integrity. Monitor FreeRDP client crash logs during gateway handshakes for signs of exploitation attempts.

Affected
FreeRDPbefore 3.31.0
Estimated exposure
largeunknown precise count; plausibly hundreds of thousands of client installations using RD Gateway WebSocket transport — FreeRDP is the default RDP client library embedded in most major Linux distributions and numerous commercial thin-client and remote-access products, but the attack vector requires an active RD Gateway WebSocket connection to a malicious…

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 integer overflow in WinPR's Stream_EnsureRemainingCapacity function that allows remote attackers to cause denial of service. A malicious RD Gateway peer can send a WebSocket Ping frame with a crafted 64-bit extended payload length to trigger integer wraparound, resulting in a double free that crashes the FreeRDP client during connection.

Weakness
CWE-190
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.