mcp-server-git argument injection in git_diff and git_checkout functions allows overwriting local files
Moderate severity
GitHub Reviewed
Published
Dec 17, 2025
in
modelcontextprotocol/servers
•
Updated Dec 20, 2025
Description
Published to the GitHub Advisory Database
Dec 17, 2025
Reviewed
Dec 17, 2025
Published by the National Vulnerability Database
Dec 17, 2025
Last updated
Dec 20, 2025
In mcp-server-git versions prior to 2025.12.18, the git_diff and git_checkout functions passed user-controlled arguments directly to git CLI commands without sanitization. Flag-like values (e.g.,
--output=/path/to/fileforgit_diff) would be interpreted as command-line options rather than git refs, enabling arbitrary file overwrites. The fix adds validation that rejects arguments starting with - and verifies the argument resolves to a valid git ref via rev_parse before execution. Users are advised to update to 2025.12.18 resolve this issue.Thank you to https://hackerone.com/yardenporat for reporting.
References