Vulnerability in league/flysystem (CVE-2021-32708)
Summary
Vulnerability in league/flysystem (CVE-2021-32708). Successful exploitation can lead to full system takeover. Mitigation: upgrade to 2.1.1 or later.
Original description
The description as published by the source.
Flysystem is an open source file storage library for PHP. The whitespace normalisation using in 1.x and 2.x removes any unicode whitespace. Under certain specific conditions this could potentially allow a malicious user to execute code remotely. The conditions are: A user is allowed to supply the path or filename of an uploaded file, the supplied path or filename is not checked against unicode chars, the supplied pathname checked against an extension deny-list, not an allow-list, the supplied path or filename contains a unicode whitespace char in the extension, the uploaded file is stored in a directory that allows PHP code to be executed. Given these conditions are met a user can upload and execute arbitrary code on the system under attack. The unicode whitespace removal has been replaced with a rejection (exception). For 1.x users, upgrade to 1.1.4. For 2.x users, upgrade to 2.1.1.
Source: OSV.dev (Open Source Vulnerabilities) NVD GitHub Advisory OSV
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2021-32708 has been found in league/flysystem.
Successful exploitation can lead to full system takeover.
What to do: upgrade league/flysystem to 2.1.1 or later.
If unsure, ask your IT team or search "league/flysystem CVE-2021-32708" on the vendor's site.
CVE-2021-32708 (league/flysystem) — CWE-367
Attack vector: remote (network-reachable) / unauthenticated / no user interaction
Patched: 2.1.1 — apply immediately
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
A vulnerability (CWE-367) exists in league/flysystem.
Check the vendor advisory for the affected versions of league/flysystem.
Severity: ?. Successful exploitation can lead to full system takeover.
Update to 2.1.1.
Until the patch is applied: disable the affected feature, apply WAF rules, or restrict access via network ACLs.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r 'league/flysystem' . against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
grep -r 'league/flysystem' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
league/flysystemを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply patch patch
Upgrade league/flysystem to 2.1.1ステージング環境で 2.1.1 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
3Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Affected packages
Fix status by distribution
Fixed packages published by each distribution for this CVE
- Debian DEBIAN-CVE-2021-32708 php-league-flysystem Fixed in: 1.1.3-4
- Ubuntu UBUNTU-CVE-2021-32708 php-league-flysystem
References
- advisory nvd.nist.gov
- advisory packagist.org
- package github.com
- patch github.com
- patch github.com
- patch github.com
- web github.com
- web lists.fedoraproject.org
- web lists.fedoraproject.org
- web lists.fedoraproject.org
- web lists.fedoraproject.org