CVE-2026-40254 PUBLISHED

FreeRDP: contains_dotdot() off-by-one allows drive channel path traversal via terminal ..

Assigner: GitHub_M
Reserved: 10.04.2026 Published: 24.04.2026 Updated: 24.04.2026

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.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:L/I:L/A:N
CVSS Score: 4.2

Product Status

Vendor FreeRDP
Product FreeRDP
Versions
  • Version < 3.25.0 is affected

References

Problem Types

  • CWE-193: Off-by-one Error CWE