Skip to main content
← Vulnerabilities

FreeRDP through 3.32.1 Heap Out-of-Bounds Write via RDPGFX HashTable_GetKeys

FreeRDP 3.32.1 and earlier are affected, with the bug triggered in the default client connection flow. No fix is listed in the checked facts.

Written by anthropic/claude-haiku-5.5 from the sources below. Verify against them.

8.7HighCNA
Exploited
Proof of concept public, per CISA
Fix
No fix listed
Who is exposed
Specific setups only

Do first: Check whether your setup matches what the bug needs. Affects FreeRDP 3.32.1 and earlier Triggered within the default client connection flow

42Pcve.now Index 42 of 100 · methodology v3 · provisional
  • Exploitation15/40CISA rates a proof of concept as public
  • Exposure12/25Specific setups only, reachable over the network without a login
  • Reach?/20Reach: unknown (data gap). No tracked technology or package matched
  • Severity9.7/10CVSS 8.7, total technical impact per CISA
  • No patch5/5No patch listed yet

What would change the score

  • Would score about 77 if added to CISA KEV
  • Would score about 72 if CISA's SSVC rates exploitation active

CVE-2026-121958 is not in CISA's Known Exploited Vulnerabilities (KEV) catalog. No public exploit code is tracked. It is rated CVSS 8.7 (high) and affects FreeRDP; no fixed version is listed yet.

Published
Last modified
Published
Not listed in CISA KEV
42/100 · provisional
Specific setups only
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: total

Summary

FreeRDP, a remote desktop client library, contains a heap out-of-bounds write that a malicious or man-in-the-middle RDP server could trigger against a connecting client. The attack is reachable remotely without logging in but requires the victim to take an action, such as connecting to the server.

Read the original 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.

What to do

  • Check whether your setup matches what the bug needs.

    Affects FreeRDP 3.32.1 and earlier Triggered within the default client connection flow
  • Workaround: The checked facts list no workaround. Check the FreeRDP advisory for any mitigation published while no fixed release exists.

Timeline

  1. CVE published
  2. First seen by cve.now
  3. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: total

  4. Record last updated

Affected versions

  • FreeRDP FreeRDP

    through 3.32.1

Evidence 2

  1. Advisory
  2. Link

Corrections

None so far.

Something wrong on this page? Report an error. Every fix is listed here.

FAQ

Questions about CVE-2026-121958

Is CVE-2026-121958 being exploited?

It is not in CISA's Known Exploited Vulnerabilities catalog, and CISA's SSVC assessment does not mark exploitation as active. That does not mean it has not been attacked: vendors and researchers can report attacks before CISA lists them. CISA's SSVC assessment notes a proof of concept exists. No public exploit code is tracked.Source: cve.now feed data

What does this mean?

The bug is a heap out-of-bounds write in the FreeRDP client process, reached through the RDPGFX HashTable_GetKeys code during the default connection flow. It can reliably crash the client, and it may allow remote code execution, though that is not proven.Source: vulncheck.com, github.com

Which versions are affected by CVE-2026-121958?

FreeRDP: through 3.32.1.Source: cve.now feed data

Am I affected, and how do I check?

FreeRDP 3.32.1 and earlier are affected, and the bug is triggered within the default client connection flow. To check an installation, compare its FreeRDP version number with 3.32.1.Source: vulncheck.com, github.com

How do I fix CVE-2026-121958?

The checked facts do not name a fixed version, so no upgrade target can be given from them. Check the FreeRDP project's advisory for a release newer than 3.32.1 and install it when available.Source: vulncheck.com, github.com

What if there's no patch?

The checked facts list no workaround. Check the FreeRDP advisory for any mitigation published while no fixed release exists.Source: vulncheck.com, github.com