| Title | geekgod382 filesystem-mcp-server 4e3e83852b1395de0a437bd4fd66376422f4ea0c Path Traversal |
|---|
| Description | The repository README says access is limited to configured ALLOWED_PATHS, with the default root set to the operator's home directory. In server.py, that policy is implemented by is_path_allowed(path), which computes os.path.abspath(path) and then checks abs_path.startswith(allowed) for each configured root.
That string-prefix check is bypassable. If /home/alice is allowlisted, a sibling path such as /home/alice_backup/loot.txt still starts with /home/alice and is therefore treated as allowed even though it is outside the intended root.
Because the same helper guards read_file_tool, write_file_tool, delete, move, copy, and directory-listing operations, an untrusted MCP caller can use prefix-sharing paths to read, write, or delete files outside the configured ALLOWED_PATHS boundary.
|
|---|
| Source | ⚠️ https://github.com/geekgod382/filesystem-mcp-server/issues/1 |
|---|
| User | LargeW (UID 97302) |
|---|
| Submission | 04/13/2026 11:36 (3 months ago) |
|---|
| Moderation | 04/29/2026 13:36 (16 days later) |
|---|
| Status | Accepted |
|---|
| VulDB entry | 360123 [geekgod382 filesystem-mcp-server 1.0.0 read_file_tool/write_file_tool server.py is_path_allowed path traversal] |
|---|
| Points | 20 |
|---|