| 标题 | geekgod382 filesystem-mcp-server 4e3e83852b1395de0a437bd4fd66376422f4ea0c Path Traversal |
|---|
| 描述 | 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.
|
|---|
| 来源 | ⚠️ https://github.com/geekgod382/filesystem-mcp-server/issues/1 |
|---|
| 用户 | LargeW (UID 97302) |
|---|
| 提交 | 2026-04-13 11時36分 (6 月前) |
|---|
| 管理 | 2026-04-29 13時36分 (16 days later) |
|---|
| 状态 | 已接受 |
|---|
| VulDB条目 | 360123 [geekgod382 filesystem-mcp-server 1.0.0 read_file_tool/write_file_tool server.py is_path_allowed 目录遍历] |
|---|
| 积分 | 20 |
|---|