提交 #803530: geldata gel-mcp 0.1.0 Path Traversal信息

标题geldata gel-mcp 0.1.0 Path Traversal
描述gel-mcp exposes two rule-related tools: list_rules(), which enumerates the bundled Markdown rule files under RULES_DIR, and fetch_rule(rule_name), which is supposed to return one of those bundled files by name. The implementation of fetch_rule() joins attacker-controlled rule_name directly under RULES_DIR and then calls exists() / read_text() on the resulting path. Because the code does not reject path separators, traversal tokens, or absolute paths, a caller can request files outside the bundled rule directory. For example, ../../../../../pyproject.toml resolves from src/gel_mcp/static/gel-ai-rules/src/ back to the repository root and returns the project's pyproject.toml instead of a packaged rule file.
来源⚠️ https://github.com/geldata/gel-mcp/issues/11
用户
 LargeW (UID 97302)
提交2026-04-13 14時18分 (2 月前)
管理2026-04-29 14時53分 (16 days later)
状态已接受
VulDB条目360139 [geldata gel-mcp 0.1.0 src/gel_mcp/server.py list_rules/fetch_rule rule_name 目录遍历]
积分20

Do you want to use VulDB in your project?

Use the official API to access entries easily!