Use After Free in Freerdp

CVE-2026-125394

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.

Vulnerability class: Use-After-Free

Published · last modified .

CVSS v3 metric

CVSS v3 base score 5.4 (Medium). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:L.

EPSS exploit prediction

EPSS 0.002, 11.5th percentile (scored ). About EPSS.

Affected products

Weakness classification (CWE)

Public exploits and proof-of-concept code

1 public repository with exploit or proof-of-concept code for this CVE:

  • D7EAD/CVE-2026-125394 (1 star, last pushed 2026-11-10): FreeRDP before 3.33.0 contains a heap UAF vulnerability in update_gdi_patblt(), update_gdi_polygon_cb() and update_gdi_mem3blt() that retain stale brush cache pointers.

References