---
id: CVE-2026-67306
title: >-
  FreeRDP versions 3.28.0 and earlier contain an out-of-bounds read
  vulnerability in the RDP6 planar RLE bitmap decoder functions
  planar_decompress_plane_rle and planar_decompress_plane_rle_only in
  libfreerdp/codec/planar.c
summary: >-
  FreeRDP versions 3.28.0 and earlier contain an out-of-bounds read
  vulnerability in the RDP6 planar RLE bitmap decoder functions
  planar_decompress_plane_rle and planar_decompress_plane_rle_only in
  libfreerdp/codec/planar.c. Only the 1-byt…
severity: medium
cvss: 5.4
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:L'
cwe:
  - CWE-125
vendor: freerdp
product: freerdp
affected:
  - freerdp < 3.28.0
patched:
  - freerdp 3.28.0
published: '2026-08-01'
updated: '2026-09-08'
sourceUpdated: '2026-09-08T14:00:06.373'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-67306'
references:
  - url: >-
      https://github.com/FreeRDP/FreeRDP/commit/5370fb26fbf034ecd11d3026b6ad639b5fff493f
    label: disclosure@vulncheck.com
  - url: 'https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-qrxx-7g3c-j6w3'
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/freerdp-before-out-of-bounds-read-via-planar-rle
    label: disclosure@vulncheck.com
  - url: 'https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-qrxx-7g3c-j6w3'
    label: 134c704f-9b21-4f2e-91b3-4a467353bcc0
tags:
  - nvd
epss: 0.00282
epssPercentile: 0.20986
ingestedAt: '2026-08-02T07:18:01.567Z'
---

## Overview

FreeRDP versions 3.28.0 and earlier contain an out-of-bounds read vulnerability in the RDP6 planar RLE bitmap decoder functions planar_decompress_plane_rle and planar_decompress_plane_rle_only in libfreerdp/codec/planar.c. Only the 1-byte control byte is bounds-checked; the subsequent 0–15 attacker-declared raw bytes are read without validating that the source buffer contains them. A malicious or compromised RDP server can send a truncated planar-encoded bitmap or surface update (reachable via both the Bitmap Update PDU and RDPGFX Surface Command paths) that causes the client to read past the end of the source buffer. The issue is fixed in FreeRDP 3.29.0.

## Affected

- `freerdp < 3.28.0`

## Remediation

Upgrade past the affected range:

- `freerdp 3.28.0`
