CVE-2026-41180 PsiTransfer: Upload PATCH path traversal can create `config.<NODE_ENV>.js` and lead to code execution on restart
An unauthenticated attacker can exploit a path traversal flaw to write malicious config files, leading to code execution on restart in specific custom directory configurations.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-41180?
CVE-2026-41180 is a high-severity path traversal vulnerability in psi-4ward psitransfer, published on 23 Apr 2026. An attacker can exploit it over the internet without logging in, and only if a user opens a file or follows a link.
Official description
PsiTransfer is an open source, self-hosted file sharing solution. Prior to version 2.4.3, the upload PATCH flow under `/files/:uploadId` validates the mounted request path using the still-encoded `req.path`, but the downstream tus handler later writes using the decoded `req.params.uploadId`. In deployments that use a supported custom `PSITRANSFER_UPLOAD_DIR` whose basename prefixes a startup-loaded JavaScript path, such as `conf`, an unauthenticated attacker can create `config.<NODE_ENV>.js` in the application root. The attacker-controlled file is then executed on the next process restart. Version 2.4.3 contains a patch.
Weakness: CWE-22
Which versions are affected by CVE-2026-41180?
2 open source packages ship an affected version, including psitransfer.
| Package | Affected | Fixed in |
|---|---|---|
psitransfer npm | All versions | 2.4.3 |
psitransfer npm | All versions | 2.4.3 |
How do I fix CVE-2026-41180?
Upgrade psitransfer to 2.4.3 or later.
Upgrade, and resolve every user-supplied path against an allowed base folder before opening it. More about Path traversal.
Is CVE-2026-41180 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-41180 exists.
Sources
Also known as GHSA-533q-w4g6-5586.