CVE-2026-40254
CVE-2026-40254 · FreeRDP: contains_dotdot() off-by-one allows drive channel path traversal via terminal ..
This page contains facts from public vulnerability sources. Check the original advisory before updating.
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.
CVSS 4.2 · Medium · EPSS 0.2% · Fix available
- Published
- Updated
Stack: system
Affected products and versions
freerdp
- Versions
- < 3.25.0: Affected
No fix published
freerdp2 Debian:12
- Versions
- 2.10.0+dfsg1-1
- 2.10.0+dfsg1-1.1
- 2.11.2+dfsg1-1
- 2.11.2+dfsg1-1.1~exp1
- 2.11.2+dfsg1-1.1~exp2
- 2.11.5+dfsg1-1
- 2.11.7+dfsg1-1
- 2.11.7+dfsg1-2
- 2.11.7+dfsg1-3
- 2.11.7+dfsg1-4
- 2.11.7+dfsg1-5
- 2.11.7+dfsg1-6
- 2.11.7+dfsg1-6~deb12u1
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
freerdp3 Debian:13
- Versions
- 3.15.0+dfsg-2.1
- 3.15.0+dfsg-2.1+deb13u1
- 3.15.0+dfsg-2.1+deb13u2
- Affected ranges
- ECOSYSTEM: < 3.15.0+dfsg-2.1+deb13u3
Update to 3.15.0+dfsg-2.1+deb13u3
freerdp3 Debian:14
- Versions
- 3.15.0+dfsg-2.1
- 3.16.0+dfsg-1
- 3.16.0+dfsg-2
- 3.17.0+dfsg-1
- 3.17.1+dfsg-1
- 3.17.1+dfsg-2
- 3.17.2+dfsg-1
- 3.17.2+dfsg-2
- 3.17.2+dfsg-3
- 3.18.0+dfsg-1
- 3.19.0+dfsg-1
- 3.19.1+dfsg-1
- 3.20.0+dfsg-1
- 3.20.2+dfsg-1
- 3.21.0+dfsg-1
- 3.22.0+dfsg-1
- 3.22.0+dfsg-1~bpo13+0
- 3.22.0+dfsg-1~bpo13+1
- 3.22.0+dfsg-3
- 3.23.0+dfsg-1
- 3.23.0+dfsg-1~bpo13+1
- 3.24.0+dfsg-1
- 3.24.0+dfsg-2
- 3.24.1+dfsg-1
- 3.24.2+dfsg-1
- 3.24.2+dfsg-1~bpo13+1
- Affected ranges
- ECOSYSTEM: < 3.25.0+dfsg-1
Update to 3.25.0+dfsg-1
freerdp Ubuntu:16.04:LTS
- Versions
- 1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1
- 1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.2
- 1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.3
- 1.1.0~git20140921.1.440916e+dfsg1-5ubuntu1.4
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
freerdp2 Ubuntu:Pro:18.04:LTS
- Versions
- 2.0.0~git20170725.1.1648deb+dfsg1-1
- 2.0.0~git20170725.1.1648deb+dfsg1-5
- 2.0.0~git20170725.1.1648deb+dfsg1-5ubuntu1
- 2.0.0~git20170725.1.1648deb+dfsg1-5ubuntu2
- 2.0.0~git20170725.1.1648deb+dfsg1-6
- 2.0.0~git20170725.1.1648deb+dfsg1-6build1
- 2.0.0~git20170725.1.1648deb+dfsg1-7
- 2.0.0~git20170725.1.1648deb+dfsg1-7ubuntu0.1
- 2.1.1+dfsg1-0ubuntu0.18.04.1
- 2.2.0+dfsg1-0ubuntu0.18.04.1
- 2.2.0+dfsg1-0ubuntu0.18.04.2
- 2.2.0+dfsg1-0ubuntu0.18.04.3
- 2.2.0+dfsg1-0ubuntu0.18.04.4
- 2.2.0+dfsg1-0ubuntu0.18.04.4+esm1
- 2.2.0+dfsg1-0ubuntu0.18.04.4+esm2
- 2.2.0+dfsg1-0ubuntu0.18.04.4+esm3
- 2.2.0+dfsg1-0ubuntu0.18.04.4+esm4
- 2.2.0+dfsg1-0ubuntu0.18.04.4+esm5
- 2.2.0+dfsg1-0ubuntu0.18.04.4+esm6
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
freerdp Ubuntu:18.04:LTS
- Versions
- 1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1
- 1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.1
- 1.1.0~git20140921.1.440916e+dfsg1-15ubuntu1.18.04.2
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
freerdp2 Ubuntu:Pro:20.04:LTS
- Versions
- 2.0.0~git20190204.1.2693389a+dfsg1-1
- 2.0.0~git20190204.1.2693389a+dfsg1-2
- 2.0.0~git20190204.1.2693389a+dfsg1-2build1
- 2.0.0~git20190204.1.2693389a+dfsg1-2build2
- 2.1.1+dfsg1-0ubuntu0.20.04.1
- 2.2.0+dfsg1-0ubuntu0.20.04.1
- 2.2.0+dfsg1-0ubuntu0.20.04.2
- 2.2.0+dfsg1-0ubuntu0.20.04.3
- 2.2.0+dfsg1-0ubuntu0.20.04.4
- 2.2.0+dfsg1-0ubuntu0.20.04.5
- 2.2.0+dfsg1-0ubuntu0.20.04.6
- 2.6.1+dfsg1-0ubuntu0.20.04.1
- 2.6.1+dfsg1-0ubuntu0.20.04.2
- 2.6.1+dfsg1-0ubuntu0.20.04.2+esm1
- 2.6.1+dfsg1-0ubuntu0.20.04.2+esm2
- 2.6.1+dfsg1-0ubuntu0.20.04.2+esm3
- 2.6.1+dfsg1-0ubuntu0.20.04.2+esm4
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
freerdp2 Ubuntu:22.04:LTS
- Versions
- 2.3.0+dfsg1-2build1
- 2.3.0+dfsg1-2ubuntu1
- 2.3.0+dfsg1-2ubuntu2
- 2.4.1+dfsg1-1
- 2.4.1+dfsg1-1ubuntu1
- 2.4.1+dfsg1-1ubuntu2
- 2.5.0+dfsg1-1
- 2.6.0+dfsg1-1
- 2.6.1+dfsg1-1
- 2.6.1+dfsg1-3
- 2.6.1+dfsg1-3ubuntu1
- 2.6.1+dfsg1-3ubuntu2
- 2.6.1+dfsg1-3ubuntu2.1
- 2.6.1+dfsg1-3ubuntu2.2
- 2.6.1+dfsg1-3ubuntu2.3
- 2.6.1+dfsg1-3ubuntu2.4
- 2.6.1+dfsg1-3ubuntu2.5
- 2.6.1+dfsg1-3ubuntu2.6
- 2.6.1+dfsg1-3ubuntu2.7
- 2.6.1+dfsg1-3ubuntu2.8
- 2.6.1+dfsg1-3ubuntu2.9
- 2.6.1+dfsg1-3ubuntu2.10
- 2.6.1+dfsg1-3ubuntu2.11
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
freerdp3 Ubuntu:24.04:LTS
- Versions
- 3.4.0+dfsg1-0ubuntu2
- 3.4.0+dfsg1-0ubuntu3
- 3.4.0+dfsg1-0ubuntu4
- 3.5.0+dfsg1-0ubuntu1
- 3.5.1+dfsg1-0ubuntu1
- 3.5.1+dfsg1-0ubuntu1.1
- 3.5.1+dfsg1-0ubuntu1.2
- 3.5.1+dfsg1-0ubuntu1.4
- 3.5.1+dfsg1-0ubuntu1.5
- 3.5.1+dfsg1-0ubuntu1.6
- Affected ranges
- ECOSYSTEM: < 3.30.0+dfsg-0ubuntu0.24.04.1
Update to 3.30.0+dfsg-0ubuntu0.24.04.1
freerdp2 Ubuntu:Pro:24.04:LTS
- Versions
- 2.10.0+dfsg1-1.1ubuntu1
- 2.11.2+dfsg1-1
- 2.11.2+dfsg1-1build1
- 2.11.2+dfsg1-1build3
- 2.11.5+dfsg1-1build1
- 2.11.5+dfsg1-1build2
- 2.11.5+dfsg1-1ubuntu0.1~esm1
- 2.11.5+dfsg1-1ubuntu0.1~esm2
- 2.11.5+dfsg1-1ubuntu0.1~esm3
- 2.11.5+dfsg1-1ubuntu0.1~esm4
- 2.11.5+dfsg1-1ubuntu0.1~esm5
- 2.11.5+dfsg1-1ubuntu0.1~esm6
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
freerdp3 Ubuntu:25.10
- Versions
- 3.14.0+dfsg-1ubuntu1
- 3.15.0+dfsg-2.1
- 3.16.0+dfsg-1ubuntu1
- 3.16.0+dfsg-2
- 3.16.0+dfsg-2ubuntu0.1
- 3.16.0+dfsg-2ubuntu0.3
- 3.16.0+dfsg-2ubuntu0.4
- 3.16.0+dfsg-2ubuntu0.5
- Affected ranges
- ECOSYSTEM: (−∞, +∞)
No fix published
freerdp3 Ubuntu:26.04:LTS
- Versions
- 3.16.0+dfsg-2
- 3.18.0+dfsg-1ubuntu1
- 3.19.0+dfsg-1
- 3.19.1+dfsg-1
- 3.20.0+dfsg-1
- 3.20.2+dfsg-1
- 3.21.0+dfsg-1
- 3.22.0+dfsg-1
- 3.24.1+dfsg-1ubuntu1
- 3.24.2+dfsg-1ubuntu1
- 3.24.2+dfsg-1ubuntu1.1
- Affected ranges
- ECOSYSTEM: < 3.30.0+dfsg-0ubuntu0.26.04.1
Update to 3.30.0+dfsg-0ubuntu0.26.04.1