{"id":"CVE-2021-3189","aliases":["EUVD-2021-0547","GHSA-f4hq-453j-p95f"],"status":"published","title":"Open redirect in Slashify","description":"The slashify package 1.0.0 for Node.js allows open-redirect attacks, as demonstrated by a localhost:3000///example.com/ substring.","severity":{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-12","score":0.00526,"percentile":0.45046,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-601"],"published":"2021-02-05T20:43:34Z","modified":"2026-06-17T04:04:49Z","affected":[{"source":"ghsa","ecosystem":"npm","package":"slashify","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"1.0.0"}]}]},{"source":"osv","ecosystem":"npm","package":"slashify","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"last_affected":"1.0.0"}]}]}],"products":[{"vendor":"google","product":"slashify"}],"references":[{"url":"https://www.npmjs.com/package/slashify","tags":["x_refsource_MISC","x_transferred","Product","web"]},{"url":"https://securitylab.github.com/advisories/GHSL-2020-199-open-redirect-slashify","tags":["x_refsource_MISC","x_transferred","Exploit","Third Party Advisory","advisory"]},{"url":"https://security.netapp.com/advisory/ntap-20210401-0004/","tags":["x_refsource_CONFIRM","x_transferred","Third Party Advisory"]},{"url":"https://github.com/divshot/slashify","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2021-3189","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-f4hq-453j-p95f"},{"url":"https://security.netapp.com/advisory/ntap-20210401-0004","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2021-3189","description":"The slashify package 1.0.0 for Node.js allows open-redirect attacks, as demonstrated by a localhost:3000///example.com/ substring.","status":"published","published":"2021-02-19T22:24:31Z","modified":"2024-08-03T16:45:51.396Z","updated_at":"2026-11-02T14:33:04.360272Z"}],"euvd":[{"id":"EUVD-2021-0547","description":"The slashify package 1.0.0 for Node.js allows open-redirect attacks, as demonstrated by a localhost:3000///example.com/ substring.","status":"published","published":"2021-02-19T22:24:31Z","modified":"2024-08-03T16:45:51Z","updated_at":"2026-11-03T03:25:14.091701Z"}],"ghsa":[{"id":"GHSA-f4hq-453j-p95f","title":"Open redirect in Slashify","description":"The package is an Express middleware that normalises routes by stripping any final slash, redirecting, for example, `bookings/latest/` to `bookings/latest`. However, it does not validate the path it redirects to in any way. In particular, if the path starts with two slashes (or two backslashes, or a slash and a backslash, etc.) it may redirect to a different domain.\n\nConsider the [example from the docs](https://www.npmjs.com/package/slashify#usage). Assume we have run it and started a server on `localhost:3000`, then visiting `localhost:3000///github.com/` redirects you to https://github.com.\n\n## Recommendation\n\nThis vulnerability is currently un-patched in the `slashify` package so there is no known safe version of this package. Discontinuing use of `slashify` is recommended.","status":"published","published":"2021-02-05T20:43:34Z","modified":"2023-02-01T05:05:15Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-601"],"updated_at":"2026-11-02T14:36:33.613868Z"}],"nvd":[{"id":"CVE-2021-3189","description":"The slashify package 1.0.0 for Node.js allows open-redirect attacks, as demonstrated by a localhost:3000///example.com/ substring.","status":"published","published":"2021-02-19T23:15:12.797Z","modified":"2026-06-17T04:04:49.037Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium","assessor":"primary"},{"version":"2.0","score":5.8,"vector":"AV:N/AC:M/Au:N/C:P/I:P/A:N","level":"medium","assessor":"primary"}],"cwes":["CWE-601"],"updated_at":"2026-11-02T14:06:50.031227Z"}],"osv":[{"id":"GHSA-f4hq-453j-p95f","title":"Open redirect in Slashify","description":"The package is an Express middleware that normalises routes by stripping any final slash, redirecting, for example, `bookings/latest/` to `bookings/latest`. However, it does not validate the path it redirects to in any way. In particular, if the path starts with two slashes (or two backslashes, or a slash and a backslash, etc.) it may redirect to a different domain.\n\nConsider the [example from the docs](https://www.npmjs.com/package/slashify#usage). Assume we have run it and started a server on `localhost:3000`, then visiting `localhost:3000///github.com/` redirects you to https://github.com.\n\n## Recommendation\n\nThis vulnerability is currently un-patched in the `slashify` package so there is no known safe version of this package. Discontinuing use of `slashify` is recommended.","status":"published","published":"2021-02-05T20:43:34Z","modified":"2023-11-08T04:05:51.576972Z","cvss":[{"version":"3.1","score":6.1,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-601"],"updated_at":"2026-11-02T15:46:46.006631Z"}]}}
