Skip to content
Heist/ feed
Back to feed
Medium

FreeRDP before 3.29.0 Out-of-Bounds Read via Planar RLE

Type: advisorySources: OSV

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.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-67306, CVE-2026-69159
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 04:29 UTC · Revision 1

Source evidence

FreeRDP before 3.29.0 Out-of-Bounds Read via Planar RLE

core-osv · Original source

Published 1 Aug 2026, 12:22 UTC

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.

osv:CVE-2026-67306
Complete source record
{
  "id": "a161197ca6802bbf423484c417ad7bf423d6090035976c070b5a49a8c780e990",
  "url": "https://osv.dev/vulnerability/CVE-2026-67306",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "FreeRDP before 3.29.0 Out-of-Bounds Read via Planar RLE",
    "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-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.",
    "evidence": "osv:CVE-2026-67306",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-67306",
      "aliases": [
        "CVE-2026-67306",
        "CVE-2026-69159",
        "GHSA-qrxx-7g3c-j6w3"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:L/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/freerdp/freerdp",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "5370fb26fbf034ecd11d3026b6ad639b5fff493f"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "3.28.0"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "5370fb26fbf034ecd11d3026b6ad639b5fff493f"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  }
                ]
              }
            }
          ],
          "versions": [
            "3.5.1",
            "3.5.0",
            "3.4.0",
            "3.3.0",
            "3.2.0",
            "3.1.0",
            "3.0.0",
            "3.0.0-rc0",
            "3.0.0-beta4",
            "3.0.0-beta3",
            "3.0.0-beta2",
            "3.0.0-beta1",
            "2.0.0",
            "2.0.0-rc4",
            "2.0.0-rc3",
            "2.0.0-rc2",
            "2.0.0-rc1",
            "2.0.0-rc0",
            "2.0.0-beta1+android11",
            "2.0.0-beta1+android10",
            "1.2.0-beta1+android9",
            "1.2.0-beta1+android7",
            "1.1.0-beta+2013071101",
            "1.1.0-beta1+ios4",
            "1.1.0-beta1+android5",
            "1.1.0-beta1+android4",
            "1.1.0-beta1+ios3",
            "1.1.0-beta1+ios2",
            "1.1.0-beta1+android3",
            "1.1.0-beta1+android2",
            "1.1.0-beta1+ios1",
            "1.1.0-beta1",
            "1.0.1",
            "1.0.0",
            "1.0-beta5",
            "1.0-beta4",
            "1.0-beta2",
            "1.0-beta1"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-67306.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:26.060095223Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/67xxx/CVE-2026-67306.json",
        "https://github.com/FreeRDP/FreeRDP/security/advisories/GHSA-qrxx-7g3c-j6w3",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-67306",
        "https://www.vulncheck.com/advisories/freerdp-before-out-of-bounds-read-via-planar-rle",
        "https://github.com/FreeRDP/FreeRDP/commit/5370fb26fbf034ecd11d3026b6ad639b5fff493f"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-125"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/67xxx/CVE-2026-67306.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-67306",
        "evidence": "/id"
      },
      {
        "value": "CVE-2026-69159",
        "evidence": "/aliases"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 492464,
  "published_at": "2026-08-01T12:22:18.037+00:00"
}