CVE-2026-67291

FreeRDP before 3.29.0 Heap Out-of-Bounds Read via GLYPH_FRAGMENT_ADD

Published Aug 1, 2026 CVSS 4.0 · 8.7 High EPSS < 1% KEV · Not listed
Description
FreeRDP before 3.29.0 (affected versions <= 3.28.0) contains a heap out-of-bounds read in update_process_glyph_fragments()/glyph_cache_fragment_put() in libfreerdp/cache/glyph.c. When handling a GLYPH_FRAGMENT_ADD update, the code reads a one-byte server-controlled declared fragment size but does not verify it fits within the remaining received buffer before allocating and copying that many bytes. A malicious RDP server can send a short fragment with an oversized declared size, causing the client to read beyond the allocated buffer, resulting in an out-of-bounds read and client crash.

Analysis

AI-generated

Technical impact

The vulnerability arises in FreeRDP versions prior to 3.29.0, where the glyph cache update functions read a size value supplied by the remote server without checking that it fits into the remaining received data. This out-of-bounds read can expose arbitrary client memory contents and causes a crash, resulting in a denial of service. The flaw is a classic heap read out of bounds (CWE-125).

Affected Systems

FreeRDP deployments using any release version 3.28.0 or older are affected. The issue is present in the core glyph handling module of the client library. Systems running these versions should consider an upgrade to 3.29.0 or later, which removes the unvalidated copy operation.

Risk and Exploitability

With a CVSS score of 8.7 the vulnerability is rated high. The EPSS score is not available, so the current probability of exploitation is unclear, but the flaw is listed in no KEV catalog. A malicious RDP server can send a crafted GLYPH_FRAGMENT_ADD update that declares a fragment size longer than the transmitted data, allowing an attacker to trigger the out-of-bounds read from any remote host that accepts their connection. This attack requires network access to the vulnerable client and does not depend on local privileges; the impact is deterministic crash, not a remote code execution.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the latest FreeRDP 3.29.0 or newer to eliminate the vulnerability.
  • Configure the client to connect only to trusted RDP servers and limit graphical updates if possible.
  • Use network segmentation or VPN to isolate RDP connections from untrusted hosts.

Generated by OpenCVE AI on August 2, 2026 at 02:55 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories available
History
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description FreeRDP before 3.29.0 (affected versions <= 3.28.0) contains a heap out-of-bounds read in update_process_glyph_fragments()/glyph_cache_fragment_put() in libfreerdp/cache/glyph.c. When handling a GLYPH_FRAGMENT_ADD update, the code reads a one-byte server-controlled declared fragment size but does not verify it fits within the remaining received buffer before allocating and copying that many bytes. A malicious RDP server can send a short fragment with an oversized declared size, causing the client to read beyond the allocated buffer, resulting in an out-of-bounds read and client crash.
Title FreeRDP before 3.29.0 Heap Out-of-Bounds Read via GLYPH_FRAGMENT_ADD
First Time appeared Freerdp
Freerdp freerdp
Weaknesses CWE-125
CPEs cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:*
Vendors & Products Freerdp
Freerdp freerdp
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

cvssV4_0

{'score': 8.7, 'vector': 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
VulnCheck
Published
Updated
Aug 3, 2026, 2:56 PM
Reserved
Jul 29, 2026, 1:01 PM
Status
Analyzed
Published
Aug 1, 2026, 1:16 PM
Modified
Sep 3, 2026, 7:33 PM
Severity
Moderate
Public date
Aug 1, 2026, 12:22 PM