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
- github.com/FreeRDP/FreeRDP/security/advisories/GHSA-fw6x-h8gw-778w (vendor-advisory)
- github.com/FreeRDP/FreeRDP/commit/ffc6b976e3589b768e8e279bc61dfb7b5896e832 (patch)
- github.com/FreeRDP/FreeRDP/releases/tag/3.33.0 (release-notes)
- github.com/FreeRDP/FreeRDP/blob/3.32.2/libfreerdp/cache/brush.c (technical-description)
- www.vulncheck.com/advisories/freerdp-before-3.33.0-use-after-free-via-stale-bru… (third-party-advisory)
This CVE has public exploit evidence. See the latest CVEs with public exploits.