
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2025-11233 is a path traversal vulnerability in the Rust programming language's standard library affecting the tier 3 Cygwin compilation target (x86_64-pc-cygwin). Introduced in Rust 1.87.0 and fixed in Rust 1.89.0, the flaw caused the Path API to incorrectly handle backslash path separators, allowing Win32-style paths to bypass path component validation. The vulnerability was originally reported by security researcher @Ry0taK through Rust's security disclosure process and was backfilled as a CVE as part of Rust's new CVE Numbering Authority process. It carries a CVSS v4.0 base score of 6.3 (Medium) (Feedly, GitHub PR).
The root cause is improper path separator handling (CWE-22) in the Cygwin target's standard library path implementation. Because Cygwin supports both POSIX-style (/) and Win32-style (\) path separators, but the Rust standard library only parsed Unix-like paths for this target, an attacker could supply a Win32-style path (e.g., ..\..\sensitive) that would not be decomposed into Component::ParentDir elements during iteration. This allowed path traversal checks of the form p.components().any(|x| x == Component::ParentDir) to be silently bypassed. The fix in PR #141864 reuses the Windows prefix parser and calls cygwin_conv_path to normalize both Cygwin and Win32 paths into absolute POSIX paths before processing (GitHub PR).
Programs compiled for the Cygwin target that rely on Rust's Path API to validate or sanitize file paths could be deceived into allowing unauthorized filesystem access. An attacker supplying a crafted Win32-style path could bypass path traversal mitigations, potentially reading or writing files outside of intended directories. The impact spans confidentiality, integrity, and availability at a low-to-moderate level; however, exploitation is limited to software specifically compiled for the x86_64-pc-cygwin target, which requires building Rust from source and is not distributed via Rustup (Feedly, GitHub PR).
No public exploit code or in-the-wild exploitation has been reported for CVE-2025-11233. The EPSS score is approximately 0.046%, reflecting very low probability of exploitation in the near term. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog. Exploitation is further constrained by the requirement that the target application must be compiled specifically for the x86_64-pc-cygwin Rust target (built from source), making the affected population extremely small (Feedly).
x86_64-pc-cygwin from Rust 1.87.0–1.88.x) that performs path validation using the standard library's Path::components() API to block directory traversal...\..\..\Windows\System32\sensitive_file, which the Cygwin Path API would not decompose into Component::ParentDir elements.p.components().any(|x| x == Component::ParentDir)) fails to detect the .. components because the backslash separator is not parsed, allowing the path to pass validation.The fix is included in Rust 1.89.0, which correctly handles both Win32 and Unix-style paths in the standard library for the Cygwin target. Users who have manually compiled the x86_64-pc-cygwin target from source using Rust 1.87.0 or 1.88.x should upgrade to Rust 1.89.0 or later. Users of the tier 1 MinGW target (x86_64-pc-windows-gnu) and all other targets are not affected and require no action. As a workaround prior to upgrading, applications can normalize or sanitize input paths using OS-level APIs before passing them to Rust's Path API (GitHub PR, Feedly).
The Rust security team (via @emilyalbini) noted that this CVE was backfilled as part of testing Rust's new CVE Numbering Authority (CNA) process, making it one of the first CVEs formally issued by the Rust project itself. The fix was developed openly on GitHub given the very limited user base of the affected tier 3 target. Reviewer @ChrisDenton questioned whether prioritizing the fix before the 1.89 beta branch cutoff was necessary given the tier 3 status, but the security team erred on the side of caution to support downstream distributors who might package the Cygwin target (GitHub PR).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."