CVE-2026-40254
Fixed in a distro release EPSS <1%CVSS 4.2
FreeRDP is a free implementation of the Remote Desktop Protocol. Versions prior to 3.25.0 have an off-by-one in the path traversal filter in `channels/drive/client/drive_file.c`. The `contains_dotdot()` function catches `../` and `..\` mid-path but misses `..` when it's the last component with no trailing separator. A rogue RDP server can read, list, or write files one directory above the client's shared folder through RDPDR requests. This requires the victim to connect with drive redirection enabled. Version 3.25.0 patches the issue.
Products: FreeRDP
Distro releases
| Release | Package | Fixed in |
|---|---|---|
| Amazon Linux 2023 | freerdp | 2:3.6.3-1.amzn2023.0.11 |
| Amazon Linux 2023 | freerdp-devel | 2:3.6.3-1.amzn2023.0.11 |
| Amazon Linux 2023 | freerdp-libs | 2:3.6.3-1.amzn2023.0.11 |
| Amazon Linux 2023 | freerdp-server | 2:3.6.3-1.amzn2023.0.11 |
| Amazon Linux 2023 | libwinpr | 2:3.6.3-1.amzn2023.0.11 |
| Amazon Linux 2023 | libwinpr-devel | 2:3.6.3-1.amzn2023.0.11 |
| Debian 12 | freerdp2 | no fix |
| Debian 13 | freerdp3 | 3.15.0+dfsg-2.1+deb13u3 |
| Debian 14 | freerdp3 | 3.25.0+dfsg-1 |
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | freerdp | 3.10.3-150700.3.17.1 |
| SUSE Linux Enterprise Server 16.0 | freerdp | 3.26.0-160000.1.1 |
| SUSE Linux Enterprise Server for SAP applications 16.0 | freerdp | 3.26.0-160000.1.1 |
| SUSE Linux Enterprise Workstation Extension 15 SP7 | freerdp | 3.10.3-150700.3.17.1 |
| 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 25.10 | freerdp3 | no fix |
| 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 |
| openSUSE Leap 16.0 | freerdp | 3.26.0-160000.1.1 |
| openSUSE Tumbleweed | freerdp | 3.26.0-1.1 |