The Git MCP Server exposes repository operations as agent tools. Before release 2026.1.14, git_add delegated file selection to GitPython repo.index.add without enforcing that supplied relative paths stayed within the repository. A caller who could influence the file-list argument could include parent-directory traversal components, crossing the tool's…
Inspect the ClaimsCase · DiggingBeagle record
Patched Git MCP staging could include files outside the repository
A source-confirmed vulnerability in mcp-server-git versions before 2026.1.14. The advisory describes unauthorized staging and possible later disclosure; it does not document a customer exfiltration campaign or prove that every tool call leaks a secret.
Assessment profile
Assessment method- Setting
- research demonstration
- Exploitation
- demonstrated
- Evidence
- Grade B
- Remediation
- patch available
- AI role
- AGAINST AI
Basis and provenance
The maintainer GitHub advisory was read directly and identifies the affected staging call, path-traversal precondition and corrected release. There is no inspected production incident, customer exfiltration trace or independent local reproduction. Impact remains ungraded because the available evidence does not establish realized harm or a defensible general severity for the assessed deployment.
Assessed Oct 16, 2026 using diggingbeagle.assessment/1.
Evidence basis: CLM-GIT-MCP-27735-TRAVERSAL-01 · CLM-GIT-MCP-27735-TRAVERSAL-02 · CLM-GIT-MCP-27735-TRAVERSAL-03 · Git MCP Server advisory GHSA-vjqx-cfc4-9h6v
At a glance
A narrow tool name does not confine a library's file access. Upgrading removes the documented staging primitive, while process-level confinement can provide an independent boundary for future defects. Neither step alone proves that other Git tools or chained operations are harmless.
Read the implicationsThe advisory does not identify a confirmed real-world exfiltration campaign or affected customer population. The October MCP-FSD study mentioned in related Radar material is a separate source and was not included as an editable or primary-evidence record in this session. Whether secondary controls such as process-level filesystem containment were deployed…
Limits and uncertaintyFull account
The Git MCP Server exposes repository operations as agent tools. Before release 2026.1.14, git_add delegated file selection to GitPython repo.index.add without enforcing that supplied relative paths stayed within the repository. A caller who could influence the file-list argument could include parent-directory traversal components, crossing the tool's advertised repository boundary while using an otherwise legitimate Git operation.
The unauthorized bytes would first be staged in the local Git index. They could then become available through later Git operations, including a commit and push, if those actions were reachable and authorized. Staging alone is not proof that a network transfer or customer secret theft happened. The maintainer correction replaces GitPython staging with a Git CLI call that rejects out-of-tree paths, and identifies 2026.1.14 as the patched version. The underlying control belongs in tool implementation and filesystem permissions, not in a prompt instructing the agent to remain inside the repository.
Mechanism and trust boundary
- 01
Provide an out-of-tree path to git_add
A model, user or lower-trust tool result causes the MCP file-list argument to contain parent-directory traversal segments.
Boundary: tool argument / intended repository root
- 02
GitPython stages a host file
Before 2026.1.14, the implementation accepts that path and writes a Git index entry for data outside the intended working tree.
Boundary: repository abstraction / agent-host filesystem
- 03
A later Git operation may disclose staged contents
Commit, diff or push access could expose staged bytes. The advisory does not establish that such a later operation occurred against a production victim.
Boundary: local staged content / consumer or remote repository
- 04
Patched staging rejects the path
Release 2026.1.14 switches to Git CLI staging, which rejects files outside the working tree for the documented path.
Boundary: input validation / Git CLI enforcement
Timeline
- Feb 25, 2026disclosure
Public disclosure
Claims & evidence
CLM-GIT-MCP-27735-TRAVERSAL-01The maintainer advisory assigns CVE-2026-27735 to Git MCP Server versions before 2026.1.14. GitPython-based staging accepted paths outside the working tree, potentially exposing their contents through later Git operations.supported
Basis: reported finding
- supportsGit MCP Server advisory GHSA-vjqx-cfc4-9h6vprimary disclosure
Advisory description and affected-version range
CLM-GIT-MCP-27735-TRAVERSAL-02Version 2026.1.14 replaces the staging operation with the Git CLI, which rejects paths outside the working tree.supported
Basis: reported finding
- supportsGit MCP Server advisory GHSA-vjqx-cfc4-9h6vprimary disclosure
Patched versions and fix description referencing pull request 3164
CLM-GIT-MCP-27735-TRAVERSAL-03The advisory describes disclosure through subsequent Git operations as a potential consequence of staging an external file; it does not claim that the git_add call alone transmits the file to a remote party.supported
Basis: reported finding
- supportsGit MCP Server advisory GHSA-vjqx-cfc4-9h6vprimary disclosure
Maintainer advisory, Description, statement on staging and subsequent commit and push
Implications
A narrow tool name does not confine a library's file access. Upgrading removes the documented staging primitive, while process-level confinement can provide an independent boundary for future defects. Neither step alone proves that other Git tools or chained operations are harmless.
Controls and mitigations
- Upgrade mcp-server-git to version 2026.1.14 or a later supported release and verify the installed package actually contains the Git CLI staging fix.
- Test relative parent paths, absolute paths and filesystem links with harmless fixtures on isolated installations.
- Give the MCP server only the filesystem access required for its repositories; a corrected path check is not a substitute for operating-system containment.
- Audit subsequent Git commit, diff and push activity separately before asserting that host secrets left the machine.
Unknowns and contradictions
- The advisory does not identify a confirmed real-world exfiltration campaign or affected customer population.
- The October MCP-FSD study mentioned in related Radar material is a separate source and was not included as an editable or primary-evidence record in this session.
- Whether secondary controls such as process-level filesystem containment were deployed in particular affected installations is unknown.
Sources and citation
Material revision history
- Oct 16, 2026 · Canonical change recorded · new in release · revision 160