Skip to main content
CRITICAL

CVE-2026-64620

FreeRDP before 3.28.0 Heap Buffer Overflow via crypto_rsa_common

CVSS v3

9.8

CRITICAL

EPSS Score

0.9 %

exploit probability, as of 2026-10-19

CISA KEV

No

known exploited

Exploitation

—

SSVC status

Get an alert for each new CVE published for FreeRDP.

Set up CVE WatchFree account · no credit card

Affected and fixed versions

Packages from OSV.dev and products from the vendors' CSAF advisories.

version not verifiedVersions not verified: read as OSV.dev and the vendors publish them, not checked against each vendor's release list.

Packages

  • freerdpAlmaLinux:10all versions · fixed in 2:3.10.3-12.el10_2.8and 5 other packages

Vendor advisories

  • CVE-2026-64620 Red Hat Product Security130 products fixed · 5 known affected

    FreeRDP: FreeRDP: Remote code execution or denial of service via heap-based buffer overflow

    freerdp as a component of Red Hat Enterprise Linux 6 · freerdp-devel as a component of Red Hat Enterprise Linux 6 · freerdp-libs as a component of Red Hat Enterprise Linux 6

  • RHSA-2026:58711 Red Hat Product Security65 products fixed

    Red Hat Security Advisory: freerdp security update

  • RHSA-2026:54486 Red Hat Product Security65 products fixed

    Red Hat Security Advisory: freerdp security update

Full record on NVD

Description

FreeRDP before 3.28.0 (affected <=3.27.1) contains a heap-based buffer overflow in crypto_rsa_common() (libfreerdp/crypto/crypto.c). The function writes the modular-exponentiation result into the caller's output buffer via BN_bn2bin() and only afterward checks output_length > out_length, so out-of-bounds bytes are written before the bounds check. On the server side, when a client selects RDP Standard Security, the encrypted client random is decrypted into a fixed 32-byte buffer. Because the server publishes its RSA public key, an unauthenticated attacker can forge a ciphertext whose decrypted value is up to the full modulus length (e.g. 256 bytes for RSA-2048), overflowing the 32-byte heap buffer by up to ~224 attacker-controlled bytes pre-authentication, resulting in denial of service.

Technical details

CVSS v3 Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
Published
2026-07-20
Last Modified
2026-07-20

Frequently asked questions

What is CVE-2026-64620?

FreeRDP before 3.28.0 (affected <=3.27.1) contains a heap-based buffer overflow in crypto_rsa_common() (libfreerdp/crypto/crypto.c). The function writes the modular-exponentiation result into the caller's output buffer via BN_bn2bin() and only afterward checks output_length > out_length, so out-of-bounds bytes are written before the bounds check. On the server side, when a client selects RDP Standard Security, the encrypted client random is decrypted into a fixed 32-byte buffer. Because the server publishes its RSA public key, an unauthenticated attacker can forge a ciphertext whose decrypted value is up to the full modulus length (e.g. 256 bytes for RSA-2048), overflowing the 32-byte heap buffer by up to ~224 attacker-controlled bytes pre-authentication, resulting in denial of service.

Is CVE-2026-64620 actively exploited?

Active exploitation of CVE-2026-64620 has not been confirmed. Its EPSS score was 0.9% on 2026-10-19, the estimated probability of exploitation in the next 30 days.

What is the CVSS score for CVE-2026-64620?

CVE-2026-64620 has a CVSS v3 base score of 9.8 (CRITICAL severity), with vector string CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H.

Running FreeRDP? Hear about its next vulnerability

CVE Watch matches each new CVE to the vendors and products you list (vendor and product, not the version) and puts it in your alerts with its KEV and EPSS status.

Already have an account? Open CVE WatchNo credit card required · No monthly cap on website lookups · 250 API requests/month