Case · DiggingBeagle record

Mage Git project API passed untrusted parameters into shell commands

Repository arguments and filenames could enter shell-form Git command strings, enabling command injection through an authenticated project-management endpoint.

Scope

Mage AI Git/version_control API, PR #6205; access to relevant authenticated endpoint required.

Assessment profile

Assessment method
Setting
research demonstration
Exploitation
demonstrated
Evidence
Grade B
Remediation
patch available
AI role
AGAINST AI
Basis and provenance

The Mage maintainer's October 16 merged PR #6205 and published targeted tests document the command concatenation and argv hardening. The inspected pull request establishes a source fix, but not which packaged deployments included it or any real customer command execution. Impact remains unknown.

Assessed Oct 18, 2026 using diggingbeagle.assessment/1.

At a glance

Mechanism and trust boundary

  1. 01

    Step

  2. 02

    Step

  3. 03

    Step

Claims & evidence

CLM-CP13-MAGE-ARGVThe patch switches selected Git operations to argument-vector execution and filters potentially executable Git helper behavior, with before/after regression tests.supported

Basis: reported finding

Link to claim
CLM-CP13-MAGE-SHELLThe Mage Git API passed caller-influenced repository input through shell-form command construction rather than treating all arguments as data.supported

Basis: reported finding

Link to claim
CLM-ENRICH-MAGE-GIT-MERGEDMage maintainers merged PR #6205 on October 16, 2026 with argv-based execution and restrictions on generic Git execution; this establishes a source-level fix, not a confirmed tagged fixed release.supported

Basis: reported finding

Link to claim

Implications

Closing login bypasses and role checks is important but cannot fix shell interpretation once a user legitimately reaches the endpoint. Conversely, argv handling alone cannot prevent an unauthorized low-privilege user from invoking mutations. The three Mage research records represent independent conditions and fixes.

Controls and mitigations

  • Deploy a Mage build that includes merged PR #6205 and verify that each repository path, commit message and Git option remains a literal argument, not a shell fragment.
  • Separate authorization for version-control mutations from permitted Git subcommands, and test option-like file names and executable Git hooks without enabling unrestricted shell execution.

Unknowns and contradictions

  • No verified in-the-wild command execution.
  • Tagged release packaging and coverage of every Git execution-capable helper are not established.

Sources and citation

Material revision history

  1. Oct 18, 2026 · Canonical change recorded · new in release · revision 171