Note: as the affected target is classified as tier 3 and was still incomplete at the time this vulnerability was discovered, the fix for this has been developed and released in the public months ago. Vulnerable code was published as part of our releases though: now that Rust is a CVE Numbering Authority we are backfilling a CVE ID for it.
Starting from Rust 1.87.0 and before Rust 1.89.0, the tier 3 Cygwin target (x86_64-pc-cygwin
) didn't correctly handle path separators, causing the standard library's Path API to ignore path components separated by backslashes. Due to this, programs compiled for Cygwin that validate paths could misbehave, potentially allowing path traversal attacks or malicious filesystem operations.
Rust 1.89.0 fixes the issue by handling both Win32 and Unix style paths in the standard library for the Cygwin target. We recommend users of Cygwin targets to upgrade to 1.89.0 or a later version.
This vulnerability is identified by CVE-2025-11233.
While we assess the severity of this vulnerability as "medium", please note that the tier 3 Cygwin compilation target is only available when building it from source: no pre-built binaries are distributed by the Rust project, and it cannot be installed through Rustup. Unless you manually compiled the x86_64-pc-cygwin
target you are not affected by this vulnerability. Users of the tier 1 MinGW target (x86_64-pc-windows-gnu
) are also explicitly not affected.
We want to thank RyotaK for reporting this issue.
Starting from Rust 1.87.0 and before Rust 1.89.0, the tier 3 Cygwin target (
x86_64-pc-cygwin
) didn't correctly handle path separators, causing the standard library's Path API to ignore path components separated by backslashes. Due to this, programs compiled for Cygwin that validate paths could misbehave, potentially allowing path traversal attacks or malicious filesystem operations.Rust 1.89.0 fixes the issue by handling both Win32 and Unix style paths in the standard library for the Cygwin target. We recommend users of Cygwin targets to upgrade to 1.89.0 or a later version.
This vulnerability is identified by CVE-2025-11233.
While we assess the severity of this vulnerability as "medium", please note that the tier 3 Cygwin compilation target is only available when building it from source: no pre-built binaries are distributed by the Rust project, and it cannot be installed through Rustup. Unless you manually compiled the
x86_64-pc-cygwin
target you are not affected by this vulnerability. Users of the tier 1 MinGW target (x86_64-pc-windows-gnu
) are also explicitly not affected.We want to thank RyotaK for reporting this issue.