{"id":"CVE-2026-41180","sourceIdentifier":"security-advisories@github.com","published":"2026-04-23T02:16:15.977","lastModified":"2026-10-25T23:10:00.167","vulnStatus":"Deferred","cveTags":[],"descriptions":[{"lang":"en","value":"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."},{"lang":"es","value":"PsiTransfer es una solución de código abierto y autoalojada para compartir archivos. Antes de la versión 2.4.3, el flujo PATCH de subida bajo “/files/:uploadId” valida la ruta de solicitud montada usando “req.path” (aún codificado), pero el gestor tus descendente escribe más tarde usando “req.params.uploadId” (decodificado). En despliegues que usan un “PSITRANSFER_UPLOAD_DIR” personalizado soportado cuyo nombre base prefija una ruta JavaScript cargada al inicio, como “conf”, un atacante no autenticado puede crear “config.[NODE_ENV].js” en la raíz de la aplicación. El archivo controlado por el atacante se ejecuta entonces en el siguiente reinicio del proceso. La versión 2.4.3 contiene un parche."}],"affected":[{"source":"security-advisories@github.com","affectedData":[{"vendor":"psi-4ward","product":"psitransfer","versions":[{"version":"< 2.4.3","status":"affected"}]}]}],"metrics":{"cvssMetricV31":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H","baseScore":7.5,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"REQUIRED","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":1.6,"impactScore":5.9}],"ssvcV203":[{"source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","ssvcData":{"timestamp":"2026-04-23T13:58:52.952704Z","id":"CVE-2026-41180","options":[{"exploitation":"poc"},{"automatable":"no"},{"technicalImpact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}]},"weaknesses":[{"source":"security-advisories@github.com","type":"Secondary","description":[{"lang":"en","value":"CWE-22"}]}],"references":[{"url":"https://github.com/psi-4ward/psitransfer/commit/8b547bf3e09757122efa00aab90281e3915aa0c6","source":"security-advisories@github.com"},{"url":"https://github.com/psi-4ward/psitransfer/releases/tag/v2.4.3","source":"security-advisories@github.com"},{"url":"https://github.com/psi-4ward/psitransfer/security/advisories/GHSA-533q-w4g6-5586","source":"security-advisories@github.com"},{"url":"https://github.com/psi-4ward/psitransfer/security/advisories/GHSA-533q-w4g6-5586","source":"134c704f-9b21-4f2e-91b3-4a467353bcc0"}]}