Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-121958— FreeRDP through 3.32.1 Heap Out-of-Bounds Write via RDPGFX HashTable_GetKeys

Quick assessment

Affected
FreeRDP FreeRDP
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

FreeRDP 3.32.1 及更早版本在 RDPGFX 客户端中存在堆越界写入漏洞。该漏洞源于 回调函数将表面哈希键截断为 16 位,导致表面表状态不一致,进而使得 函数在写入时超出其已分配键数组的边界。恶意的 RDP 服务器或实施中间人攻击的攻击者可通过创建表面 ID 为 0xFFFF、关闭 RDPGFX 通道、重复发送 DELETESURFACE 协议数据单元(PDU),随后发送 ENDFRAME 或 RESETGRAPHICS 来利用此漏洞。

CVSS 8.8 · High

Affected Version Matrix 1

VendorProduct Version RangeStatus
FreeRDP FreeRDP ≤ 3.32.1 affected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-121958

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
FreeRDP through 3.32.1 Heap Out-of-Bounds Write via RDPGFX HashTable_GetKeys
Source: CVE Program / CVE List V5
Vulnerability Description
FreeRDP through 3.32.1 has a heap out-of-bounds write in the RDPGFX client because the delete_surface callback truncates surface hash keys to 16 bits, leaving the surface table inconsistent so HashTable_GetKeys writes past its allocated key array. A malicious or man-in-the-middle RDP server can exploit this by creating surfaceId 0xFFFF, closing the RDPGFX channel, sending repeated DELETESURFACE PDUs, and then sending ENDFRAME or RESETGRAPHICS.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Source: CVE Program / CVE List V5
Vulnerability Type
堆缓冲区溢出
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
FreeRDP FreeRDP 0 ~ 3.32.1 -

II. Public POCs for CVE-2026-121958

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-121958

请登录查看更多情报信息。

Other References for CVE-2026-121958 (2)

Same Patch Batch · FreeRDP · 2026-11-04 · 15 CVEs total

CVE-2026-121953 9.8 CRITICAL FreeRDP before 3.32.2 Use-After-Free via rdpgfx Dynamic Virtual Channel Close
CVE-2026-121952 9.8 CRITICAL FreeRDP before 3.32.2 Proxy Out-of-Bounds Write via Bitmap Cache v2 Capability
CVE-2026-121962 8.1 HIGH FreeRDP before 3.32.2 Heap Buffer Overflow via Early User Authorization Read
CVE-2026-121964 7.5 HIGH FreeRDP before 3.32.2 Heap Buffer Overflow via rpc_client_recv_fragment
CVE-2026-121957 7.5 HIGH FreeRDP before 3.32.2 Use-After-Free via RDPGFX ResetGraphics Race
CVE-2026-121955 7.5 HIGH FreeRDP before 3.32.2 Use-After-Free in Smartcard Emulation ReleaseContext
CVE-2026-121951 7.5 HIGH FreeRDP 3.0.0 before 3.32.2 Denial of Service via Slow-Path Input Event
CVE-2026-121956 7.5 HIGH FreeRDP before 3.32.2 Double Free in WinPR Kerberos retrieveSomeTgt
CVE-2026-121960 7.5 HIGH FreeRDP before 3.32.2 Unauthenticated Denial of Service via CredSSP TSRequest
CVE-2026-121950 6.5 MEDIUM FreeRDP before 3.32.2 Heap Overflow via RDPGFX CREATE_SURFACE Integer Wrap
CVE-2026-121954 6.5 MEDIUM FreeRDP before 3.32.2 Heap Out-of-Bounds Write in Planar Codec
CVE-2026-121959 6.5 MEDIUM FreeRDP before 3.32.2 Infinite Loop via Truncated WebSocket Frame
CVE-2026-121961 5.9 MEDIUM FreeRDP before 3.32.2 Use-After-Free via DRDYNVC Tracker Race
CVE-2026-121963 5.9 MEDIUM FreeRDP before 3.32.2 Use-After-Free via Dynamic rdpsnd Channel Close

IV. Related Vulnerabilities