{"id":"CVE-2020-24807","aliases":["EUVD-2021-1175","GHSA-6495-8jvh-f28x","GHSA-r2gr-fhmr-66c5"],"status":"published","title":"File restriction bypass in socket.io-file","description":"The socket.io-file package through 2.0.31 for Node.js relies on client-side validation of file types, which allows remote attackers to execute arbitrary code by uploading an executable file via a modified JSON name field. NOTE: This vulnerability only affects products that are no longer supported by the maintainer","severity":{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-10","score":0.02096,"percentile":0.81822,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-20"],"published":"2020-10-02T15:39:54Z","modified":"2026-06-17T03:06:04Z","affected":[{"source":"ghsa","ecosystem":"npm","package":"socket.io-file","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"2.0.31"}]}]},{"source":"osv","ecosystem":"npm","package":"socket.io-file","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"last_affected":"2.0.31"}]}]}],"products":[{"vendor":"socket.io-file_project","product":"socket.io-file"}],"references":[{"url":"https://www.npmjs.com/package/socket.io-file","tags":["x_refsource_MISC","x_transferred","Product","Third Party Advisory","web"]},{"url":"https://github.com/rico345100/socket.io-file","tags":["x_refsource_MISC","x_transferred","Product","Third Party Advisory","package","web"]},{"url":"https://www.npmjs.com/advisories/1564","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","web"]},{"url":"https://github.com/advisories/GHSA-6495-8jvh-f28x","tags":["x_refsource_MISC","x_transferred","Third Party Advisory","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2020-24807","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-r2gr-fhmr-66c5"}],"sources":{"cve":[{"id":"CVE-2020-24807","description":"The socket.io-file package through 2.0.31 for Node.js relies on client-side validation of file types, which allows remote attackers to execute arbitrary code by uploading an executable file via a modified JSON name field. NOTE: This vulnerability only affects products that are no longer supported by the maintainer","status":"published","published":"2020-10-06T17:10:17Z","modified":"2024-08-04T15:19:09.43Z","updated_at":"2026-11-02T14:35:54.468882Z"}],"euvd":[{"id":"EUVD-2021-1175","description":"The socket.io-file package through 2.0.31 for Node.js relies on client-side validation of file types, which allows remote attackers to execute arbitrary code by uploading an executable file via a modified JSON name field. NOTE: This vulnerability only affects products that are no longer supported by the maintainer","status":"published","published":"2020-10-06T17:10:17Z","modified":"2024-08-04T15:19:09Z","updated_at":"2026-11-03T03:07:18.658916Z"}],"ghsa":[{"id":"GHSA-6495-8jvh-f28x","title":"File restriction bypass in socket.io-file","description":"All versions of `socket.io-file`are vulnerable to a file restriction bypass. The validation for valid file types only happens on the client-side, which allows an attacker to intercept the Websocket request post-validation and alter the `name` value to upload any file types.\n\nNo fix is currently available. Consider using an alternative package until a fix is made available.","status":"published","published":"2020-10-02T15:39:54Z","modified":"2026-01-22T22:29:18Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:39:19.525691Z"},{"id":"GHSA-r2gr-fhmr-66c5","title":"Duplicate Advisory: \"Arbitrary code execution in socket.io-file\"","description":"## Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-6495-8jvh-f28x. This link is maintained to preserve external references.\n\n## Original Description\n\"The socket.io-file package through 2.0.31 for Node.js relies on client-side validation of file types, which allows remote attackers to execute arbitrary code by uploading an executable file via a modified JSON name field. NOTE: This vulnerability only affects products that are no longer supported by the maintainer.\"","status":"withdrawn","published":"2021-05-10T18:38:11Z","modified":"2026-01-22T22:29:08Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:39:19.525691Z"}],"nvd":[{"id":"CVE-2020-24807","description":"The socket.io-file package through 2.0.31 for Node.js relies on client-side validation of file types, which allows remote attackers to execute arbitrary code by uploading an executable file via a modified JSON name field. NOTE: This vulnerability only affects products that are no longer supported by the maintainer","status":"published","published":"2020-10-06T18:15:17.657Z","modified":"2026-06-17T03:06:04.52Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high","assessor":"primary"},{"version":"2.0","score":6.8,"vector":"AV:N/AC:M/Au:N/C:P/I:P/A:P","level":"medium","assessor":"primary"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T14:06:17.70091Z"}],"osv":[{"id":"GHSA-6495-8jvh-f28x","title":"File restriction bypass in socket.io-file","description":"All versions of `socket.io-file`are vulnerable to a file restriction bypass. The validation for valid file types only happens on the client-side, which allows an attacker to intercept the Websocket request post-validation and alter the `name` value to upload any file types.\n\nNo fix is currently available. Consider using an alternative package until a fix is made available.","status":"published","published":"2020-10-02T15:39:54Z","modified":"2026-05-04T08:46:09.19160668Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T15:46:39.266402Z"},{"id":"GHSA-r2gr-fhmr-66c5","title":"Duplicate Advisory: \"Arbitrary code execution in socket.io-file\"","description":"## Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-6495-8jvh-f28x. This link is maintained to preserve external references.\n\n## Original Description\n\"The socket.io-file package through 2.0.31 for Node.js relies on client-side validation of file types, which allows remote attackers to execute arbitrary code by uploading an executable file via a modified JSON name field. NOTE: This vulnerability only affects products that are no longer supported by the maintainer.\"","status":"withdrawn","published":"2021-05-10T18:38:11Z","modified":"2026-02-03T03:09:10.907136Z","cvss":[{"version":"3.1","score":7.8,"vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","level":"high"}],"cwes":["CWE-20"],"updated_at":"2026-11-02T15:46:55.122811Z"}]}}
