Sceawere

Vulnerability Detail

CVE-2026-55564UPDATED Verified Sceawere Triage Sources: NVD / CISA KEV

FreeRDP Glyph Cache Heap Out-of-Bounds Read

Vulnerability Metadata

Severity
Medium
Score / CVSS
5.4
Creation Date
3h ago
Vendor
FreeRDP
Product
FreeRDP
Attack Type
CWE-125: Out-of-bounds Read
Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:L
Attack Complexity
LOW

Narrative and Response

Description

FreeRDP is a free implementation of the Remote Desktop Protocol. Prior to 3.27.0, the glyph_cache_get function in libfreerdp/cache/glyph.c checks whether index is greater than cache->number instead of greater than or equal to it. A malicious RDP server can use GLYPH_FRAGMENT_USE replay in update_process_glyph_fragments to make the default cache receive index 254 when cache->number is 254, reading one pointer beyond the entries array and dereferencing it as a glyph. This can crash the client and may disclose adjacent heap data. This issue is fixed in version 3.27.0.

Executive Summary

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Executive Summary Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Technical Details

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Detailed Technical Analysis Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Mitigations

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Remediation & Mitigations Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

References

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.

Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Intelligence References Locked

Sign up to unlock professional threat analysis, mitigations, and indicator signatures.

Additional Metadata

{
  "score": "5.4",
  "pubDate": "2026-08-19T18:16:45.003Z",
  "pubdate": "2026-08-19T18:16:45.003Z",
  "executiveSummary": "A heap out-of-bounds read vulnerability exists in FreeRDP prior to version 3.27.0 within the glyph caching subsystem. The flaw specifically resides in the glyph_cache_get function located in libfreerdp/cache/glyph.c, where an incorrect boundary check permits an out-of-bounds array index access.\nA malicious RDP server can exploit this vulnerability by leveraging GLYPH_FRAGMENT_USE replay attacks via update_process_glyph_fragments. This manipulation causes the default cache to receive an index of 254 when cache->number is 254, resulting in a single-pointer read past the boundary of the entries array and subsequent dereference as a glyph object.\nThe successful exploitation of this vulnerability can lead to a denial-of-service condition through application crashes and potentially facilitate adjacent heap data disclosure, exposing sensitive memory contents to an adversarial remote server.\nThe attack requires a malicious or compromised RDP server interacting with a vulnerable FreeRDP client. No specialized authentication or high privileges are required beyond establishing a standard remote desktop connection session with the victim client.",
  "technicalDetails": "The root cause of the vulnerability is an off-by-one bounds-checking error within the glyph_cache_get function implemented in libfreerdp/cache/glyph.c. Specifically, the conditional logic incorrectly evaluates whether the requested cache index is strictly greater than cache->number rather than utilizing a greater-than-or-equal-to comparison operator.\nThe vulnerable component is the client-side glyph cache management subsystem of FreeRDP, which handles rendering optimizations for Remote Desktop Protocol text and glyph fragments. The affected versions comprise all FreeRDP releases prior to version 3.27.0.\nExploitation occurs during the processing of server-to-client update messages involving glyph fragments. An attacker operating a malicious RDP server initiates or replays GLYPH_FRAGMENT_USE commands inside the update_process_glyph_fragments routine. By supplying carefully crafted payload parameters, the server forces the default glyph cache to access index 254 when the maximum allocated cache capacity (cache->number) is also 254.\nBecause the conditional check fails to catch this boundary condition, the execution flow proceeds to read exactly one pointer beyond the allocated bounds of the internal entries array. The application then treats this adjacent heap memory address as a valid pointer to a glyph structure and attempts to dereference it during rendering operations.\nThe post-exploitation impact includes memory corruption manifested as an immediate segmentation fault or application crash, causing a denial of service for the client session. Furthermore, depending on the layout of the adjacent heap memory, dereferencing or processing the out-of-bounds pointer may result in the inadvertent disclosure of sensitive heap data back to the hostile RDP server."
}
CVE-2026-55564: FreeRDP Glyph Cache Heap Out-of-Bounds Read (MEDIUM Severity, CVSS: 5.4) - Sceawere