---
id: CVE-2026-67291
title: >-
  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
summary: >-
  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 …
severity: high
cvss: 7.5
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'
cwe:
  - CWE-125
published: '2026-08-01'
updated: '2026-08-01'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-67291'
references:
  - url: >-
      https://github.com/FreeRDP/FreeRDP/commit/f3b4347105114fe7453828736bea069999af319f
    label: disclosure@vulncheck.com
  - url: 'https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-hgj8-g595-wfc6'
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/freerdp-before-heap-out-of-bounds-read-via-glyph-fragment-add
    label: disclosure@vulncheck.com
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-67291.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-67291'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2510010'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-67291'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-67291'
  - url: 'https://access.redhat.com/errata/RHSA-2026:61378'
  - url: 'https://access.redhat.com/errata/RHSA-2026:62571'
  - url: 'https://access.redhat.com/errata/RHSA-2026:65855'
  - url: 'https://access.redhat.com/errata/RHSA-2026:61379'
  - url: 'https://access.redhat.com/errata/RHSA-2026:66281'
  - url: 'https://access.redhat.com/errata/RHSA-2026:66282'
  - url: 'https://access.redhat.com/errata/RHSA-2026:68707'
  - url: 'https://access.redhat.com/errata/RHSA-2026:68706'
tags:
  - nvd
  - csaf
  - vex
  - red-hat
ingestedAt: '2026-08-02T05:17:49.467Z'
epss: 0.00354
epssPercentile: 0.28995
vendor: Red Hat
product: Red Hat Enterprise Linux AppStream (v. 8)
affected:
  - enterprise_linux 6
  - enterprise_linux 7
  - enterprise_linux_appstream_v_10
  - enterprise_linux_appstream_v_8
  - enterprise_linux_appstream_aus_v_8_4
  - enterprise_linux_appstream_eus_extension_v_8_4
  - enterprise_linux_appstream_v_9
  - enterprise_linux_codeready_linux_builder_v_10
  - enterprise_linux_crb_v_8
  - enterprise_linux_codeready_linux_builder_v_9
patched:
  - enterprise_linux_appstream_v_10
  - enterprise_linux_appstream_v_8
  - enterprise_linux_appstream_aus_v_8_4
  - enterprise_linux_appstream_eus_extension_v_8_4
  - enterprise_linux_appstream_v_9
  - enterprise_linux_codeready_linux_builder_v_10
  - enterprise_linux_crb_v_8
  - enterprise_linux_codeready_linux_builder_v_9
scores:
  nvd: 7.5
  vendor: 6.5
---

## Overview

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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Vendor advisories

- **RHSA-2026:61378** · Red Hat · fixed in: Red Hat Enterprise Linux AppStream (v. 10), Red Hat Enterprise Linux CodeReady Linux Builder (v. 10) · released 2026-08-31 · [advisory](https://access.redhat.com/errata/RHSA-2026:61378)
- **RHSA-2026:62571** · Red Hat · fixed in: Red Hat Enterprise Linux AppStream (v. 8), Red Hat Enterprise Linux CRB (v. 8) · released 2026-09-02 · [advisory](https://access.redhat.com/errata/RHSA-2026:62571)
- **RHSA-2026:65855** · Red Hat · fixed in: Red Hat Enterprise Linux AppStream AUS (v.8.4), Red Hat Enterprise Linux AppStream EUS EXTENSION (v.8.4) · released 2026-09-09 · [advisory](https://access.redhat.com/errata/RHSA-2026:65855)
- **RHSA-2026:61379** · Red Hat · fixed in: Red Hat Enterprise Linux AppStream (v. 9), Red Hat Enterprise Linux CodeReady Linux Builder (v. 9) · released 2026-08-31 · [advisory](https://access.redhat.com/errata/RHSA-2026:61379)
- **Red Hat VEX** · Moderate · affected: Red Hat Enterprise Linux 6 · no fix planned: Red Hat Enterprise Linux 6 · updated 2026-09-18 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-67291.json)
- **RHSA-2026:66281** · Red Hat · fixed in: Red Hat Enterprise Linux AppStream AUS (v.8.6), Red Hat Enterprise Linux AppStream EUS EXTENSION (v.8.6) · released 2026-09-10 · [advisory](https://access.redhat.com/errata/RHSA-2026:66281)
- **RHSA-2026:66282** · Red Hat · fixed in: Red Hat Enterprise Linux AppStream E4S (v.8.8), Red Hat Enterprise Linux AppStream TUS (v.8.8) · released 2026-09-10 · [advisory](https://access.redhat.com/errata/RHSA-2026:66282)
- **RHSA-2026:68707** · Red Hat · fixed in: Red Hat Enterprise Linux Server (v. 7 ELS), Red Hat Enterprise Linux Server Optional (v. 7 ELS) · released 2026-09-17 · [advisory](https://access.redhat.com/errata/RHSA-2026:68707)
- **RHSA-2026:68706** · Red Hat · fixed in: Red Hat Enterprise Linux AppStream EUS (v. 10.0), Red Hat Enterprise Linux CodeReady Linux Builder EUS (v. 10.0) · released 2026-09-17 · [advisory](https://access.redhat.com/errata/RHSA-2026:68706)
