An authenticated Mage AI user could reach repository changes without the required role because a failed authorization check did not reliably stop the rest of the handler. The defect was not authentication bypass in itself. It appeared after the user had a session, when a Viewer or unassigned account should have been denied the relevant Git project mutation. …
Inspect the ClaimsCase · DiggingBeagle record
Mage project Git actions could be granted after a failed role check
A repository role-authorization fallthrough let some Viewer or unassigned accounts perform write operations intended for Editor or Admin roles.
TRA-756, Mage Git/version_control project API; PR #6207; low-privilege authenticated user.
Assessment profile
Assessment method- Setting
- research demonstration
- Exploitation
- demonstrated
- Evidence
- Grade B
- Remediation
- patch available
- AI role
- AGAINST AI
Basis and provenance
The merged Mage PR #6207 and its regression tests support a fail-open role check affecting authenticated project Git operations. They do not identify a packaged fixed version or production misuse. The ordinary authorization boundary is separate from the OAuth issuance flaw and from shell command interpretation.
Assessed Oct 18, 2026 using diggingbeagle.assessment/1.
Evidence basis: CLM-CP13-MAGE-RBAC-FIX · CLM-CP13-MAGE-RBAC-ROOT · CLM-ENRICH-MAGE-RBAC-MERGED · Mage AI PR #6207: deny failed Git project authorization
At a glance
Authentication success is not a substitute for action-specific permission. Input safety and shell escaping also do not establish that a user may edit a repository. The right regression test is a role-by-endpoint matrix spanning legacy and granular configurations, including denied requests that must cause zero state changes.
Read the implicationsRelease inclusion and production exploitation not independently confirmed. Fine-grained policy configurations may require additional route-specific tests.
Limits and uncertaintyFull account
An authenticated Mage AI user could reach repository changes without the required role because a failed authorization check did not reliably stop the rest of the handler. The defect was not authentication bypass in itself. It appeared after the user had a session, when a Viewer or unassigned account should have been denied the relevant Git project mutation.
The maintainer's PR #6207 changes role and fine-grained permission checks to reject the request before a write path is reached. Tests cover denied Viewer and unassigned configurations as well as Editor and Administrator behavior. The patch was merged into source on October 16, 2026. As with other Mage changes, a merge is not independent proof that any particular release image has shipped or that all related endpoints have been exercised in production.
This is a server authorization boundary, separate from OAuth provider identity validation and from shell command parsing in Git actions. A session can be genuine while a mutation remains unauthorized. Verification should apply a role-by-endpoint matrix and compare actual created branches, project files and remotes before and after each denied call, rather than relying only on a 403 response or on front-end role labels.
Mechanism and trust boundary
- 01
Step
- 02
Step
- 03
Step
Claims & evidence
CLM-CP13-MAGE-RBAC-FIXPR #6207 introduces explicit failure on denied checks and reports separate regression tests for Viewer, unassigned, Editor and Admin behavior.supported
Basis: reported finding
- supportsMage AI PR #6207: deny failed Git project authorizationpatch commit artifact
PR #6207 patch/test sections
CLM-CP13-MAGE-RBAC-ROOTFailed role checks could fall through and allow authenticated non-Editor users to create or change version-control resources.supported
Basis: reported finding
- supportsMage AI PR #6207: deny failed Git project authorizationpatch commit artifact
PR #6207 authorization bug description and Viewer/unassigned HTTP regression
CLM-ENRICH-MAGE-RBAC-MERGEDThe October 16 merged Mage PR #6207 rejects legacy-mode project mutations without Editor-level authority while retaining granular permission checks; no fixed published package version is established by that merge alone.supported
Basis: reported finding
- supportsMage AI PR #6207: deny failed Git project authorizationpatch commit artifact
Pull request #6207 merged status and authentication/authorization policy summary
Implications
Authentication success is not a substitute for action-specific permission. Input safety and shell escaping also do not establish that a user may edit a repository. The right regression test is a role-by-endpoint matrix spanning legacy and granular configurations, including denied requests that must cause zero state changes.
Controls and mitigations
- Use a Mage build containing PR #6207 and verify denial for Viewer or unassigned identities across project creation, remote changes, file mutation and branch operations.
- Test the application's mutation state after every denied authorization path, not merely the HTTP response or a front-end warning.
Unknowns and contradictions
- Release inclusion and production exploitation not independently confirmed.
- Fine-grained policy configurations may require additional route-specific tests.
Sources and citation
Material revision history
- Oct 18, 2026 · Canonical change recorded · new in release · revision 171