Flysystem: WhitespacePathNormalizer's control-character (CorruptedPathDetected) check is…
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- None · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.
Summary
Flysystem is an open source file storage library for PHP. Prior to 3.35.3, the default WhitespacePathNormalizer in src/WhitespacePathNormalizer.php used by Filesystem across adapters calls preg_match with the u modifier and treats both false and 0 as falsy. A path containing malformed UTF-8 causes PCRE to return false, so paths that also contain control characters bypass CorruptedPathDetected::forPath() in normalizePath(). Filesystem::write() can store such names and Filesystem::listContents() can return the raw ANSI escape sequences, allowing hidden or spoofed terminal file listings when an administrator displays them. This issue is fixed in version 3.35.3.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| thephpleague | flysystem | before 3.35.3 | 3.35.3 | Patch available | CNA |
| — | league/flysystem (Packagist) | before 3.35.3 | 3.35.3 | Patch available | GHSA-cxf4-7mrp-vvpr |
- flysystem Vendorthephpleague Affected before 3.35.3 Fixed in 3.35.3 Patch available CNA
- league/flysystem (Packagist) Vendor— Affected before 3.35.3 Fixed in 3.35.3 Patch available GHSA-cxf4-7mrp-vvpr
Remediation
- Fix · CNA flysystem (thephpleague) Fixed in 3.35.3
- Fix · GHSA-cxf4-7mrp-vvpr league/flysystem (Packagist) Fixed in 3.35.3 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-102601
- 2026-10-03 Alias added: GHSA-cxf4-7mrp-vvpr
References
More thephpleague vulnerabilities
- TI-2026-69535 league/commonmark Quadratic DoS via TableStartParser CVSS 4.0HIGH 8.7
- TI-2026-50093 league/commonmark: AttributesExtension href/src unsafe-link filter bypass via embedded control bytes CVSS 3.1MEDIUM 6.1
- TI-2026-69534 Cross-site scripting in League CommonMark bypasses DisallowedRawHtml CVSS 4.0MEDIUM 5.3
- TI-2021-12376 Time-of-check Time-of-use (TOCTOU) Race Condition in league/flysystem CVSS 3.1CRITICAL 9.8
- TI-2026-59143 commonmark 1.5.0 before 2.8.4 Denial of Service via Footnote CVSS 4.0HIGH 8.7
- TI-2026-59142 commonmark 2.0.0 through 2.8.3 Denial of Service via Slug Collision CVSS 4.0HIGH 8.7
Sources
- CVE-2026-102601 · CVE Program
- CVE-2026-102601 · NVD
- FIRST EPSS
- GHSA-cxf4-7mrp-vvpr · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences