Safeguard
Vulnerability Analysis•

CVE-2026-64620: Pre-Auth Heap Overflow in FreeRDP Server

CVE-2026-64620 is a critical pre-authentication heap overflow in FreeRDP crypto_rsa_common before 3.28.0. Upgrade, or require TLS or NLA on servers.

Safeguard Security Team
3 min read

CVE-2026-64620 is a critical (CVSS 9.8) heap overflow in FreeRDP before 3.28.0. The RSA helper writes before it checks the buffer size, so an unauthenticated client can overflow a 32 byte server buffer. The record describes a denial of service. Upgrade to 3.28.0, or require TLS or NLA.

What's affected

  • FreeRDP versions up to and including 3.27.1. Fixed in 3.28.0.
  • Function: crypto_rsa_common() in libfreerdp/crypto/crypto.c.
  • Reachable on the server side when a client selects RDP Standard Security, according to the advisory.
  • Weakness: CWE-122, heap based buffer overflow. CVSS 9.8 (critical), vector CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.

The record states the outcome as denial of service. The advisory describes the overwrite as a strong memory corruption primitive, so treat it as more than a crash risk.

How to check if you're exposed

Find the FreeRDP version in every place it is installed or embedded.

xfreerdp --version 2>/dev/null || xfreerdp3 --version
# Debian and Ubuntu
dpkg -l | grep -i freerdp
# Red Hat family
rpm -qa | grep -i freerdp

FreeRDP is also embedded in remote desktop tools, gateways and appliances. For those, ask the vendor which FreeRDP version they ship. The free in-browser scan at gold.safeguard.sh/scan covers dependencies in your projects.

Then find out whether any FreeRDP based server is exposed: the shadow server, a proxy, or an embedded appliance. Ask whether it allows RDP Standard Security.

What to do now

  1. Find every FreeRDP derived server, proxy or appliance, and every client install.
  2. Upgrade to FreeRDP 3.28.0 or later.
  3. The advisory's workaround: require TLS or NLA and disable RDP Standard Security, so the vulnerable key establishment path returns early.
  4. Keep any FreeRDP based server off the public internet where you can.
  5. Ask appliance vendors which FreeRDP version they embed.

Why it matters

The helper function writes the result of a modular exponentiation into the caller's buffer first and only afterward checks whether it fit. In the server key exchange, the destination is a fixed 32 byte buffer, and the value can be as large as the key. Because the server publishes its public key, a client can craft a value that decrypts to the full length.

That is CWE-122 before any login, which is why the score is 9.8. The workaround is a policy choice: turning off the legacy Standard Security layer closes the path. The record's KEV flag is false.

Quick check

Is a login required?

No. The record and advisory describe the overflow as pre authentication.

What is the workaround?

Require TLS or NLA and disable RDP Standard Security.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.