Submit #802052: dexhunter kaggle-mcp 0.1.0 Path Traversalinfo

Titledexhunter kaggle-mcp 0.1.0 Path Traversal
DescriptionThe prepare_kaggle_dataset tool expects competition_id to be a Kaggle competition slug, but it uses that value directly as a filesystem path component when creating the local extraction directory: data_dir = Path(__file__).parent / "data" / arguments["competition_id"] os.makedirs(data_dir, exist_ok=True) Because no slug validation, canonicalization, or root-boundary check is applied, traversal sequences such as ../../../../tmp/poc escape the intended src/kaggle_mcp/data/ tree. The directory is created before Kaggle API download or extraction occurs, so the path traversal is reachable even when the later download fails.
Source⚠️ https://github.com/dexhunter/kaggle-mcp/issues/1
User
 MidA (UID 96794)
Submission04/10/2026 12:55 (18 days ago)
Moderation04/26/2026 22:02 (16 days later)
StatusAccepted
VulDB entry359748 [dexhunter kaggle-mcp up to 406127ffcb2b91b8c10e20e6c2ca787fbc1dc92d src/kaggle_mcp/server.py prepare_kaggle_dataset competition_id path traversal]
Points20

Interested in the pricing of exploits?

See the underground prices here!