CVE-2026-55192 in FreeRDPinfo

Summary

by MITRE • 08/19/2026

FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.27.0, FreeRDP H.264 decoder backends can return YUV planes sized from the bitstream without comparing the decoded width and height to the RDPGFX surface dimensions used to validate region rectangles. A malicious RDP server can provide an AVC420 or AVC444 bitstream whose decoded frame is smaller than the negotiated surface, causing yuv420_context_decode and the YUV-to-RGB conversion paths to read beyond the decoder-owned planes in libfreerdp/codec/h264.c and the selected H.264 backend. This can disclose client memory or crash the client. This issue is fixed in version 3.27.0.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Analysis

by VulDB Data Team • 08/19/2026

The vulnerability identified in FreeRDP, a widely used open-source implementation of the Microsoft Remote Desktop Protocol, represents a critical security flaw within its H.264 video decoding subsystem. Prior to version 3.27.0, the application failed to perform essential bounds checking when processing compressed video streams. Specifically, the decoder backends were designed to allocate YUV color planes based on dimensions extracted directly from the incoming bitstream rather than validating these dimensions against the negotiated RDPGFX surface parameters established during session initialization. This architectural oversight creates a scenario where the internal state of the application diverges from the expected buffer sizes defined by the protocol handshake, leaving the memory management logic vulnerable to exploitation through malformed or maliciously crafted input data.

The technical core of this flaw lies in the disparity between the decoded frame dimensions and the allocated surface buffers. When an attacker controls a remote RDP server, they can transmit an AVC420 or AVC444 bitstream where the encoded video frame is smaller than the width and height negotiated for the display surface during connection setup. Because FreeRDP did not compare these values before proceeding with decoding operations, functions such as yuv420_context_decode and subsequent YUV-to-RGB conversion routines attempted to process data using incorrect size assumptions. Consequently, these memory access operations exceeded the boundaries of the decoder-owned planes located in libfreerdp/codec/h264.c and the selected H.264 backend library. This out-of-bounds read condition allows for unauthorized access to adjacent memory regions that should remain inaccessible to the decoding process.

The operational impact of this vulnerability is severe, primarily manifesting as a potential remote information disclosure or denial of service against the client system. By exploiting the buffer over-read, an attacker can potentially extract sensitive data from the local machine's memory space, including cryptographic keys, session tokens, or other confidential user information residing in adjacent heap structures. Alternatively, if the accessed memory regions contain invalid pointers or protected pages, the application may encounter a segmentation fault, leading to a crash of the FreeRDP client process. This denial of service disrupts remote work capabilities and can be leveraged as part of a broader attack chain to destabilize enterprise infrastructure relying on RDP for secure access.

From a classification perspective, this vulnerability aligns with CWE-125, which describes Out-of-bounds Read vulnerabilities where software reads past the end of a buffer or array. In terms of offensive security frameworks, it maps to ATT&CK technique T1005, Data from Local System Retrieval, as the exploitation enables an adversary to read local memory contents without direct execution privileges on the host system. The lack of input validation regarding negotiated protocol parameters highlights a failure in implementing robust boundary checks for external data sources, which is a common root cause in network-facing applications that process binary protocols.

To mitigate this risk, organizations must ensure that all FreeRDP clients are updated to version 3.27.0 or later, where the developers have implemented strict validation of decoded frame dimensions against negotiated surface sizes before initiating memory operations. For environments unable to patch immediately, deploying network-level access controls can restrict RDP connections to trusted servers only, thereby reducing the attack surface presented by untrusted or compromised remote hosts. Additionally, enabling sandboxing for FreeRDP processes can limit the blast radius in case of exploitation, preventing direct access to critical system memory and sensitive user data. Continuous monitoring of client-side application behavior and logging anomalies related to video decoding errors may also aid in early detection of attempted exploits targeting this specific flaw.

Responsible

GitHub M

Reservation

06/16/2026

Disclosure

08/19/2026

Moderation

accepted

CPE

ready

EPSS

0.00521

KEV

no

Activities

very low

Sources

Do you want to use VulDB in your project?

Use the official API to access entries easily!