VDB
Sign up
MEDIUM

GHSA-459f-x8vq-xjjm

Static Web Server vulnerable to a symbolic link path traversal

Details

### Summary

Symbolic links (_symlinks_) could be used to access files or directories outside the intended web root folder.

### Details

SWS generally does not prevent symlinks from escaping the web server’s root directory. Therefore, if a malicious actor gains access to the web server’s root directory, they could create symlinks to access other files outside the designated web root folder either by URL or via the directory listing.

### PoC

- Serve a directory (web root) with SWS. - Create a symlink inside the web root that points to a file outside the web root. e.g. `ln -s escape.txt $HOME/.bashrc` - Open `http://localhost/escape.txt` in your browser. - The file content will be served.

### Impact

Any web server that runs with elevated privileges (e.g., root/administrator) and handles user-supplied file uploads is primarily impacted.

Are you affected?

Enter the version of the package you're using.

Affected packages

crates.io/static-web-server
Introduced in: 0Fixed in: 2.40.1

Upgrade static-web-server to 2.40.1 or newer (ecosystem crates.io).

References