Description
FreeRDP before 3.33.0 contains a heap use-after-free vulnerability in update_gdi_patblt(), update_gdi_polygon_cb() and update_gdi_mem3blt() that retain stale brush cache pointers. A malicious RDP server can resend CACHE_BRUSH to the same slot then send PATBLT, causing clients to read freed heap memory, disclosing data or crashing.
Published: 2026-11-09
Score: 5.3 Medium
EPSS: n/a
KEV: No
Impact: Heap use‑after‑free leading to memory disclosure or crash
Action: Patch
AI Analysis

Impact

FreeRDP versions prior to 3.33.0 contain a heap use‑after‑free flaw in the functions update_gdi_patblt(), update_gdi_polygon_cb(), and update_gdi_mem3blt(). The flaw arises when a stale pointer to a brush cache element is retained; a malicious RDP server can send a CACHE_BRUSH command to reuse the same cache slot followed by a PATBLT command, which causes the client to dereference freed heap memory. Accessing this memory can expose sensitive data or terminate the client process, resulting in a denial of service.

Affected Systems

All installations of FreeRDP older than 3.33.0 are affected, including release 3.32.2 and earlier. The vulnerability applies to every client that connects to an RDP server using the legacy brush caching mechanism.

Risk and Exploitability

The CVSS score of 5.3 indicates moderate severity, but the exploitability remains high because a remote RDP server can trigger it at will. EPSS data is not available, and the vulnerability is not listed in the CISA KEV catalog. An attacker who can control the RDP server side can send the specific cache and blt commands to coerce the client into reading freed memory, thereby leaking data or causing a crash.

Generated by OpenCVE AI on November 10, 2026 at 00:40 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade every FreeRDP client to version 3.33.0 or later, which removes the stale cache pointer references.
  • Replace any embedded or packaged FreeRDP libraries with verified, patched binaries before deployment.
  • Enforce least privilege for RDP servers: restrict the ability to send arbitrary CACHE_BRUSH and PATBLT commands, and monitor for anomalous RDP traffic that may indicate exploitation attempts.

Generated by OpenCVE AI on November 10, 2026 at 00:40 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 09 Nov 2026 23:45:00 +0000

Type Values Removed Values Added
Description FreeRDP before 3.33.0 contains a heap use-after-free vulnerability in update_gdi_patblt(), update_gdi_polygon_cb() and update_gdi_mem3blt() that retain stale brush cache pointers. A malicious RDP server can resend CACHE_BRUSH to the same slot then send PATBLT, causing clients to read freed heap memory, disclosing data or crashing.
Title FreeRDP before 3.33.0 Use-After-Free via Stale Brush Cache Pointer
First Time appeared Freerdp
Freerdp freerdp
Weaknesses CWE-416
CPEs cpe:2.3:a:freerdp:freerdp:*:*:*:*:*:*:*:*
Vendors & Products Freerdp
Freerdp freerdp
References
Metrics cvssV3_1

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

cvssV4_0

{'score': 5.3, 'vector': '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'}


cve-icon MITRE

Status: PUBLISHED

Assigner: VulnCheck

Published:

Updated: 2026-11-09T23:27:58.697Z

Reserved: 2026-11-09T22:03:12.932Z

Link: CVE-2026-125394

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Awaiting Analysis

Published: 2026-11-10T00:17:13.353

Modified: 2026-11-10T00:17:13.503

Link: CVE-2026-125394

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-11-10T01:15:07Z

Weaknesses