{"id":"GHSA-9h4g-27m8-qjrg","summary":"Path Traversal in socket.io-file","details":"All versions of `socket.io-file` are vulnerable to Path Traversal. The package fails to sanitize user input and uses it to generate the file upload paths. The `socket.io-file::createFile` message contains a `name` option that is passed directly to `path.join()`.   It is possible to upload files to arbitrary folders on the server by sending relative paths on the `name` value, such as `../../test.js`.  The `uploadDir` and `rename` options can be used to define the file upload path.","aliases":["CVE-2020-15779"],"modified":"2026-05-04T08:45:49.887196841Z","published":"2020-07-07T19:24:47Z","database_specific":{"severity":"HIGH","github_reviewed":true,"github_reviewed_at":"2020-07-07T19:23:52Z","nvd_published_at":null,"cwe_ids":["CWE-22"]},"references":[{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2020-15779"},{"type":"ADVISORY","url":"https://github.com/advisories/GHSA-9h4g-27m8-qjrg"},{"type":"PACKAGE","url":"https://github.com/rico345100/socket.io-file"},{"type":"WEB","url":"https://www.npmjs.com/advisories/1519"},{"type":"WEB","url":"https://www.npmjs.com/package/socket.io-file"}],"affected":[{"package":{"name":"socket.io-file","ecosystem":"npm","purl":"pkg:npm/socket.io-file"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"last_affected":"2.0.31"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2020/07/GHSA-9h4g-27m8-qjrg/GHSA-9h4g-27m8-qjrg.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N"}]}