| 标题 | elinsky execution-system-mcp 0.1.0 Path Traversal |
|---|
| 描述 | `execution-system-mcp` is designed to operate on a trusted execution-system repository whose root is configured via `execution_system_repo_path`. The reviewed code intends to restrict action operations to:
- `docs/execution_system/00k-next-actions/contexts/*.md`
- special state files such as `@waiting.md`
That restriction is incomplete. The `add_action` tool accepts a free-form `context` string and `_get_context_file_path()` appends it directly into `contexts_dir / f"{context}.md"`. The `complete_action` tool accepts `file_path` and only checks that it starts with `@` or `contexts/` before appending it to the base directory. Payloads such as `../../../../../../tmp/poc` or `contexts/../../../../../../tmp/poc.md` therefore escape the intended action-list directory and reach existing markdown files outside the configured repository subtree. |
|---|
| 来源 | ⚠️ https://github.com/elinsky/execution-system-mcp/issues/1 |
|---|
| 用户 | LittleW (UID 97283) |
|---|
| 提交 | 2026-04-12 12時18分 (2 月前) |
|---|
| 管理 | 2026-04-28 15時42分 (16 days later) |
|---|
| 状态 | 已接受 |
|---|
| VulDB条目 | 359972 [elinsky execution-system-mcp 0.1.0 add_action Tool server.py _get_context_file_path context 目录遍历] |
|---|
| 积分 | 20 |
|---|