Case · DiggingBeagle record

gh-aw imported workflow names could escape their intended directory

A user-influenced workflow name could escape .github/workflows during gh-aw MCP import because the resulting path was not contained after resolution.

Scope

Affected gh-aw MCP add tool before 0.91.12, with write access on the target repository filesystem; constrained by the generated file path and suffix, not arbitrary host command execution.

Assessment profile

Assessment method
Setting
research demonstration
Exploitation
demonstrated
Impact
Band 2 of 4
Evidence
Grade B
Remediation
fixed reported
AI role
AGAINST AI
Basis and provenance

GHSA-62c8-mmw9-rq5w documents traversal through filepath.Join and shows the malicious .md destination, with separate .yml circumstances. The merged fix is reported in v0.91.12. This is not equivalent to the higher-impact flag-injection issue sharing the advisory.

Impact basis: Untrusted workflow name values could write workflow-related files outside the intended .github/workflows directory. The constrained extension and path traversal are demonstrated; shell execution or subsequent CI compromise requires an additional step.

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

At a glance

Claims & evidence

CLM-GHAW-MCP-NAME-TRAVERSALIn the affected gh-aw MCP add flow, the supplied workflow name was used as a path component without enforcing that the resulting file remained inside .github/workflows/.supported

Basis: reported finding

Link to claim

Implications

A tool-name or parameter schema does not restrict filesystem effects when its implementation resolves a path outside the authorized root.

Controls and mitigations

  • Validate normalized, resolved destination paths against an authorized directory before every write, including after symlink and platform-specific path processing.

Unknowns and contradictions

  • The advisory describes constrained write conditions, not unconstrained root filesystem execution. The implementation issue was fixed in v0.91.12 alongside the separate option-injection flaw.

Sources and citation

Material revision history

  1. Oct 19, 2026 · Published version · first publication · revision 174
  2. Oct 19, 2026 · Canonical change recorded · material revision · revision 175Public fields changed: assessment_profile