{"id":"CVE-2014-6394","aliases":["CLSA-2026-1789377909","CLSA-2026-1791843631","CLSA-2026-1792496437","CLSA-2026-1793287341","CLSA-2026-1793292510","DEBIAN-CVE-2014-6394","EUVD-2017-0335","GHSA-xwg4-93c6-3h42","UBUNTU-CVE-2014-6394"],"status":"published","title":"Directory Traversal in send","description":"visionmedia send before 0.8.4 for Node.js uses a partial comparison for verifying whether a directory is within the document root, which allows remote attackers to access restricted directories, as demonstrated using \"public-restricted\" under a \"public\" directory.","severity":{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary","from":"nvd"},"epss":{"day":"2026-11-09","score":0.0434,"percentile":0.91276,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-22"],"published":"2014-10-08T17:00:00Z","modified":"2026-10-29T19:45:51Z","fixes":[{"ecosystem":"npm","package":"send","fixed_in":["0.8.4"],"sources":["ghsa","osv"]},{"ecosystem":"TuxCare:npm","package":"send","fixed_in":["0.1.1-tuxcare.2"],"sources":["osv"]},{"ecosystem":"Debian:12","package":"node-send","fixed_in":["0.9.4-1"],"sources":["osv"]},{"ecosystem":"Debian:13","package":"node-send","fixed_in":["0.9.4-1"],"sources":["osv"]},{"ecosystem":"Debian:14","package":"node-send","fixed_in":["0.9.4-1"],"sources":["osv"]},{"ecosystem":"Ubuntu:16.04:LTS","package":"node-send","fixed_in":["0.9.4-1"],"sources":["osv"]},{"ecosystem":"Ubuntu:18.04:LTS","package":"node-send","fixed_in":["0.9.4-1"],"sources":["osv"]}],"affected":[{"source":"ghsa","ecosystem":"npm","package":"send","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.8.4"}]}]},{"source":"osv","ecosystem":"TuxCare:npm","package":"send","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.0.4-tuxcare.0"},{"fixed":"0.0.4-tuxcare.1"}]}],"versions":["0.0.4"],"bundled":2},{"source":"osv","ecosystem":"TuxCare:npm","package":"send","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.1.0-tuxcare.0"},{"fixed":"0.1.0-tuxcare.1"}]}],"versions":["0.1.0"],"bundled":3},{"source":"osv","ecosystem":"TuxCare:npm","package":"send","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.7.4-tuxcare.0"},{"fixed":"0.7.4-tuxcare.1"}]}],"versions":["0.7.4"],"bundled":3},{"source":"osv","ecosystem":"TuxCare:npm","package":"send","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.1.1-tuxcare.0"},{"fixed":"0.1.1-tuxcare.2"}]}],"versions":["0.1.1","0.1.1-tuxcare.1"]},{"source":"osv","ecosystem":"TuxCare:npm","package":"send","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0.1.4-tuxcare.0"},{"fixed":"0.1.4-tuxcare.1"}]}],"versions":["0.1.4"],"bundled":3},{"source":"osv","ecosystem":"Debian:12","package":"node-send","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.4-1"}]}]},{"source":"osv","ecosystem":"Debian:13","package":"node-send","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.4-1"}]}]},{"source":"osv","ecosystem":"Debian:14","package":"node-send","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.4-1"}]}]},{"source":"osv","ecosystem":"npm","package":"send","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"0.8.4"}]}]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"node-send","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.4-1"}]}]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"node-send","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"0.9.4-1"}]}]}],"products":[{"vendor":"apple","product":"xcode"},{"vendor":"fedoraproject","product":"fedora"},{"vendor":"joyent","product":"node.js"}],"references":[{"url":"http://secunia.com/advisories/62170","tags":["third-party-advisory","x_refsource_SECUNIA","x_transferred","advisory","web"]},{"url":"http://www.openwall.com/lists/oss-security/2014/09/30/10","tags":["mailing-list","x_refsource_MLIST","x_transferred","web"]},{"url":"https://bugzilla.redhat.com/show_bug.cgi?id=1146063","tags":["x_refsource_CONFIRM","x_transferred","report","web"]},{"url":"https://nodesecurity.io/advisories/send-directory-traversal","tags":["x_refsource_MISC","x_transferred","advisory","report"]},{"url":"https://github.com/visionmedia/send/pull/59","tags":["x_refsource_MISC","x_transferred","fix","web"]},{"url":"https://support.apple.com/HT205217","tags":["x_refsource_CONFIRM","x_transferred","web"]},{"url":"https://github.com/visionmedia/send/commit/9c6ca9b2c0b880afd3ff91ce0d211213c5fa5f9a","tags":["x_refsource_CONFIRM","x_transferred","Exploit","evidence","web"]},{"url":"http://lists.apple.com/archives/security-announce/2015/Sep/msg00002.html","tags":["vendor-advisory","x_refsource_APPLE","x_transferred","web"]},{"url":"http://lists.fedoraproject.org/pipermail/package-announce/2014-October/139938.html","tags":["vendor-advisory","x_refsource_FEDORA","x_transferred","web"]},{"url":"http://lists.fedoraproject.org/pipermail/package-announce/2014-October/140020.html","tags":["vendor-advisory","x_refsource_FEDORA","x_transferred","web"]},{"url":"http://www.securityfocus.com/bid/70100","tags":["vdb-entry","x_refsource_BID","x_transferred","web"]},{"url":"https://exchange.xforce.ibmcloud.com/vulnerabilities/96727","tags":["vdb-entry","x_refsource_XF","x_transferred","web"]},{"url":"http://www-01.ibm.com/support/docview.wss?uid=swg21687263","tags":["x_refsource_CONFIRM","x_transferred","web"]},{"url":"http://lists.fedoraproject.org/pipermail/package-announce/2014-September/139415.html","tags":["vendor-advisory","x_refsource_FEDORA","x_transferred","web"]},{"url":"http://www.openwall.com/lists/oss-security/2014/09/24/1","tags":["mailing-list","x_refsource_MLIST","x_transferred","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2014-6394","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-xwg4-93c6-3h42","tags":["advisory"]},{"url":"https://www.npmjs.com/advisories/32","tags":["web"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2014-6394","tags":["advisory"]},{"url":"https://github.com/visionmedia/send","tags":["package"]},{"url":"https://ubuntu.com/security/CVE-2014-6394","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2014-6394","tags":["report"]}],"sources":{"cve":[{"id":"CVE-2014-6394","description":"visionmedia send before 0.8.4 for Node.js uses a partial comparison for verifying whether a directory is within the document root, which allows remote attackers to access restricted directories, as demonstrated using \"public-restricted\" under a \"public\" directory.","status":"published","published":"2014-10-08T17:00:00Z","modified":"2024-08-06T12:17:23.629Z","updated_at":"2026-11-02T14:33:44.930749Z"}],"euvd":[{"id":"EUVD-2017-0335","description":"visionmedia send before 0.8.4 for Node.js uses a partial comparison for verifying whether a directory is within the document root, which allows remote attackers to access restricted directories, as demonstrated using \"public-restricted\" under a \"public\" directory.","status":"published","published":"2014-10-08T17:00:00Z","modified":"2024-08-06T12:17:23Z","updated_at":"2026-11-03T01:56:59.08355Z"}],"ghsa":[{"id":"GHSA-xwg4-93c6-3h42","title":"Directory Traversal in send","description":"Versions 0.8.3 and earlier of `send` are affected by a directory traversal vulnerability. When relying on the root option to restrict file access it may be possible for an application consumer to escape out of the restricted directory and access files in a similarly named directory. \n\nFor example, `static(_dirname + '/public')` would allow access to `_dirname + '/public-restricted'`.\n\n\n## Recommendation\n\nUpdate to version 0.8.4 or later.","status":"published","published":"2017-10-24T18:33:36Z","modified":"2023-01-09T05:03:25Z","cwes":["CWE-22"],"updated_at":"2026-11-02T14:36:05.071174Z"}],"nvd":[{"id":"CVE-2014-6394","description":"visionmedia send before 0.8.4 for Node.js uses a partial comparison for verifying whether a directory is within the document root, which allows remote attackers to access restricted directories, as demonstrated using \"public-restricted\" under a \"public\" directory.","status":"published","published":"2014-10-08T17:55:05.123Z","modified":"2026-06-17T00:13:01.097Z","cvss":[{"version":"2.0","score":7.5,"vector":"AV:N/AC:L/Au:N/C:P/I:P/A:P","level":"high","assessor":"primary"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:02:56.266125Z"}],"osv":[{"id":"CLSA-2026-1789377909","title":"TuxCare security update for send (2 CVEs)","description":"TuxCare rebuilt send to address 2 CVEs. Fixed in 0.0.4-tuxcare.1.","status":"published","published":"2026-09-14T09:25:09Z","modified":"2026-10-15T09:48:03.878025191Z","updated_at":"2026-11-02T15:43:47.938828Z"},{"id":"CLSA-2026-1791843631","title":"TuxCare security update for send (3 CVEs)","description":"TuxCare rebuilt send to address 3 CVEs. Fixed in 0.1.0-tuxcare.1.","status":"published","published":"2026-10-12T22:20:31Z","modified":"2026-10-15T09:47:47.855235034Z","updated_at":"2026-11-02T15:43:50.599064Z"},{"id":"CLSA-2026-1792496437","title":"TuxCare security update for send (3 CVEs)","description":"TuxCare rebuilt send to address 3 CVEs. Fixed in 0.7.4-tuxcare.1.","status":"published","published":"2026-10-20T11:40:37Z","modified":"2026-10-20T13:45:21.725870275Z","updated_at":"2026-11-02T15:43:54.378946Z"},{"id":"CLSA-2026-1793287341","title":"TuxCare security update for send (1 CVE)","description":"TuxCare rebuilt send to address 1 CVE. Fixed in 0.1.1-tuxcare.2.","status":"published","published":"2026-10-29T16:22:22Z","modified":"2026-10-29T19:45:50.145522414Z","updated_at":"2026-11-02T15:43:55.669514Z"},{"id":"CLSA-2026-1793292510","title":"TuxCare security update for send (3 CVEs)","description":"TuxCare rebuilt send to address 3 CVEs. Fixed in 0.1.4-tuxcare.1.","status":"published","published":"2026-10-29T17:48:31Z","modified":"2026-10-29T19:45:51.716453024Z","updated_at":"2026-11-02T15:43:55.669514Z"},{"id":"CVE-2014-6394","description":"visionmedia send before 0.8.4 for Node.js uses a partial comparison for verifying whether a directory is within the document root, which allows remote attackers to access restricted directories, as demonstrated using \"public-restricted\" under a \"public\" directory.","status":"published","published":"2014-10-08T17:55:05Z","modified":"2026-04-10T03:43:59.739949Z","updated_at":"2026-11-02T15:43:59.654289Z"},{"id":"DEBIAN-CVE-2014-6394","description":"visionmedia send before 0.8.4 for Node.js uses a partial comparison for verifying whether a directory is within the document root, which allows remote attackers to access restricted directories, as demonstrated using \"public-restricted\" under a \"public\" directory.","status":"published","published":"2014-10-08T17:55:05.123Z","modified":"2026-10-23T15:47:29.208078496Z","updated_at":"2026-11-02T15:45:26.134753Z"},{"id":"GHSA-xwg4-93c6-3h42","title":"Directory Traversal in send","description":"Versions 0.8.3 and earlier of `send` are affected by a directory traversal vulnerability. When relying on the root option to restrict file access it may be possible for an application consumer to escape out of the restricted directory and access files in a similarly named directory. \n\nFor example, `static(_dirname + '/public')` would allow access to `_dirname + '/public-restricted'`.\n\n\n## Recommendation\n\nUpdate to version 0.8.4 or later.","status":"published","published":"2017-10-24T18:33:36Z","modified":"2023-11-08T03:57:43.941561Z","cwes":["CWE-22"],"updated_at":"2026-11-02T15:47:00.604718Z"},{"id":"UBUNTU-CVE-2014-6394","description":"visionmedia send before 0.8.4 for Node.js uses a partial comparison for verifying whether a directory is within the document root, which allows remote attackers to access restricted directories, as demonstrated using \"public-restricted\" under a \"public\" directory.","status":"published","published":"2014-10-08T17:55:00Z","modified":"2025-07-16T08:11:08.355351Z","updated_at":"2026-11-02T15:54:09.378953Z"}]}}
