CVE-2026-64620
Fixed in a distro release EPSS <1%CVSS 9.8
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.
Products: FreeRDP
Distro releases
| Release | Package | Fixed in |
|---|---|---|
| AlmaLinux 10 | freerdp | 2:3.10.3-12.el10_2.8 |
| AlmaLinux 10 | freerdp-devel | 2:3.10.3-12.el10_2.8 |
| AlmaLinux 10 | freerdp-libs | 2:3.10.3-12.el10_2.8 |
| AlmaLinux 10 | freerdp-server | 2:3.10.3-12.el10_2.8 |
| AlmaLinux 10 | libwinpr | 2:3.10.3-12.el10_2.8 |
| AlmaLinux 10 | libwinpr-devel | 2:3.10.3-12.el10_2.8 |
| Amazon Linux 2023 | freerdp | 2:3.6.3-1.amzn2023.0.14 |
| Amazon Linux 2023 | freerdp-devel | 2:3.6.3-1.amzn2023.0.14 |
| Amazon Linux 2023 | freerdp-libs | 2:3.6.3-1.amzn2023.0.14 |
| Amazon Linux 2023 | freerdp-server | 2:3.6.3-1.amzn2023.0.14 |
| Amazon Linux 2023 | libwinpr | 2:3.6.3-1.amzn2023.0.14 |
| Amazon Linux 2023 | libwinpr-devel | 2:3.6.3-1.amzn2023.0.14 |
| Debian 12 | freerdp2 | no fix |
| Debian 13 | freerdp3 | no fix |
| Debian 14 | freerdp3 | 3.28.0+dfsg-1 |
| Red Hat Enterprise Linux 10.2 | freerdp | 2:3.10.3-12.el10_2.8 |
| Red Hat Enterprise Linux 10.2 | freerdp-debuginfo | 2:3.10.3-12.el10_2.8 |
| Red Hat Enterprise Linux 10.2 | freerdp-debugsource | 2:3.10.3-12.el10_2.8 |
| Red Hat Enterprise Linux 10.2 | freerdp-devel | 2:3.10.3-12.el10_2.8 |
| Red Hat Enterprise Linux 10.2 | freerdp-libs | 2:3.10.3-12.el10_2.8 |
| Red Hat Enterprise Linux 10.2 | freerdp-libs-debuginfo | 2:3.10.3-12.el10_2.8 |
| Red Hat Enterprise Linux 10.2 | freerdp-server | 2:3.10.3-12.el10_2.8 |
| Red Hat Enterprise Linux 10.2 | freerdp-server-debuginfo | 2:3.10.3-12.el10_2.8 |
| Red Hat Enterprise Linux 10.2 | libwinpr | 2:3.10.3-12.el10_2.8 |
| Red Hat Enterprise Linux 10.2 | libwinpr-debuginfo | 2:3.10.3-12.el10_2.8 |
| Red Hat Enterprise Linux 10.2 | libwinpr-devel | 2:3.10.3-12.el10_2.8 |
| Red Hat Enterprise Linux eus 10.0 | freerdp | 2:3.10.3-3.el10_0.11 |
| Red Hat Enterprise Linux eus 10.0 | freerdp-debuginfo | 2:3.10.3-3.el10_0.11 |
| Red Hat Enterprise Linux eus 10.0 | freerdp-debugsource | 2:3.10.3-3.el10_0.11 |
| Red Hat Enterprise Linux eus 10.0 | freerdp-devel | 2:3.10.3-3.el10_0.11 |
| Red Hat Enterprise Linux eus 10.0 | freerdp-libs | 2:3.10.3-3.el10_0.11 |
| Red Hat Enterprise Linux eus 10.0 | freerdp-libs-debuginfo | 2:3.10.3-3.el10_0.11 |
| Red Hat Enterprise Linux eus 10.0 | freerdp-server | 2:3.10.3-3.el10_0.11 |
| Red Hat Enterprise Linux eus 10.0 | freerdp-server-debuginfo | 2:3.10.3-3.el10_0.11 |
| Red Hat Enterprise Linux eus 10.0 | libwinpr | 2:3.10.3-3.el10_0.11 |
| Red Hat Enterprise Linux eus 10.0 | libwinpr-debuginfo | 2:3.10.3-3.el10_0.11 |
| Red Hat Enterprise Linux eus 10.0 | libwinpr-devel | 2:3.10.3-3.el10_0.11 |
| Rocky Linux 10 | freerdp | 2:3.10.3-12.el10_2.8 |
| Ubuntu 16.04 LTS | freerdp | no fix |
| Ubuntu 18.04 LTS | freerdp | no fix |
| Ubuntu 22.04 LTS | freerdp2 | no fix |
| Ubuntu 24.04 LTS | freerdp3 | 3.30.0+dfsg-0ubuntu0.24.04.1 |
| Ubuntu 26.04 LTS | freerdp3 | 3.30.0+dfsg-0ubuntu0.26.04.1 |
| Ubuntu Pro 18.04 LTS | freerdp2 | no fix |
| Ubuntu Pro 20.04 LTS | freerdp2 | no fix |
| Ubuntu Pro 24.04 LTS | freerdp2 | no fix |