The GitHub Agentic Workflows MCP compiler wrote progress status using a predictable .tmp path. Local filesystem entries could redirect the write through a symbolic link or retain permissive file modes. GHSA-796w-fvw2-ccmp documents the possible overwrite and status disclosure under the compiler process permissions; it is a local preplant condition rather…
Inspect the ClaimsCase · DiggingBeagle record
GitHub Agentic Workflows compilation status used a predictable symlinkable temp path
The GitHub Agentic Workflows MCP compiler wrote progress status using a predictable .tmp path. GHSA-796w-fvw2-ccmp documents the possible overwrite and status disclosure under the compiler process permissions; it is a local preplant condition rather than an unauthenticated remote exploit.
Public disclosure: Nov 5, 2026
Reported security vulnerability; exploitation prerequisites and tested version scope matter. No real-world exploitation is established unless separately reported.
Assessment profile
Assessment method- Setting
- research demonstration
- Exploitation
- demonstrated
- Evidence
- Grade C
- Remediation
- patch available
- AI role
- AGAINST AI
Basis and provenance
research demonstration; demonstrated. The cited primary disclosure supports the specific sequence and boundaries described here: An attacker with suitable local filesystem access preplants the compiler's predictable progress .tmp pathname. The evidence does not independently establish consequences beyond the record's supported outcome; a numerical impact band cannot be justified from the available evidence. Evidence grade C reflects the source attribution and independent verification limits.
Assessed Nov 7, 2026 using diggingbeagle.assessment/1.
Evidence basis: CLM-DB07-089-OUTCOME · CLM-DB07-089-MECHANISM · CLM-ENR-DB07-026-TEMP-SYMLINK-MODE · Advisory: gh-aw MCP compilation status fixed .tmp filename allows symlink overwrite and world-readable report
At a glance
Create temporary output exclusively with no-follow semantics, secure mode and atomic rename over intended owned paths.
Read the implicationsRequires local file preplant and compiler process write; no remote exploit or confirmed victim. Version range metadata inconsistent.
Limits and uncertaintyFull account
The GitHub Agentic Workflows MCP compiler wrote progress status using a predictable .tmp path. Local filesystem entries could redirect the write through a symbolic link or retain permissive file modes.
GHSA-796w-fvw2-ccmp documents the possible overwrite and status disclosure under the compiler process permissions; it is a local preplant condition rather than an unauthenticated remote exploit.
The compiler's progress report is written to a predictable temporary name. If an attacker who already has access to the shared local directory pre-creates a symlink or permissive file, an ordinary write may follow that link or retain the existing mode despite the code requesting 0600. A later rename can preserve the compromised content or exposure. The file-write effect remains bounded by the permissions of the process running the compiler; the advisory does not describe an unauthenticated network entry point. The appropriate primitive is exclusive creation of a fresh file in an owned directory, no-follow behavior and atomic replacement, followed by verification of the final mode and destination.
The attack depends on a local actor planting or controlling the predictable temporary name before a privileged compiler writes its progress file. An existing file or symlink can preserve unsafe permissions or redirect the write, despite a caller requesting a secure mode. This is a local filesystem trust boundary in the compilation workflow, not evidence of remote exploitation of hosted GitHub Actions. The distinct Copilot token-routing flaw concerns outbound credential audience, so fixing the temporary-file writer does not close that provider-boundary error.
Mechanism and trust boundary
- 01
An attacker with suitable local filesystem access preplants the compiler's predictable progress .tmp pathname.
- 02
The compiler writes MCP status through the existing path, potentially following a symlink or retaining a permissive mode.
- 03
The renamed progress file may expose report contents or overwrite another path writable by the compiler process.
Claims & evidence
CLM-DB07-089-OUTCOMEGHSA-796w-fvw2-ccmp documents the possible overwrite and status disclosure under the compiler process permissions; it is a local preplant condition rather than an unauthenticated remote exploit.supported
Basis: reported finding
- supportsAdvisory: gh-aw MCP compilation status fixed .tmp filename allows symlink overwrite and world-readable reportprimary disclosure
GHSA-796w-fvw2-ccmp; writeMCPCompileProgress implementation and patch
CLM-DB07-089-MECHANISMThe GitHub Agentic Workflows MCP compiler wrote progress status using a predictable .tmp path. Local filesystem entries could redirect the write through a symbolic link or retain permissive file modes.supported
Basis: reported finding
- supportsAdvisory: gh-aw MCP compilation status fixed .tmp filename allows symlink overwrite and world-readable reportprimary disclosure
GHSA-796w-fvw2-ccmp; writeMCPCompileProgress implementation and patch
CLM-ENR-DB07-026-TEMP-SYMLINK-MODEThe GitHub Agentic Workflows progress-file weakness includes following an existing symbolic link for its predictable .tmp file and retaining a pre-existing world-readable mode despite an attempted 0600 write. It requires local filesystem prepositioning.supported
Basis: reported finding
- supportsAdvisory: gh-aw MCP compilation status fixed .tmp filename allows symlink overwrite and world-readable reportprimary disclosure
GHSA-796w-fvw2-ccmp: progress write, symlink behavior and file mode
Implications
Create temporary output exclusively with no-follow semantics, secure mode and atomic rename over intended owned paths.
Unknowns and contradictions
- Requires local file preplant and compiler process write; no remote exploit or confirmed victim. Version range metadata inconsistent.
Sources and citation
Material revision history
- Nov 7, 2026 · Published version · first publication · revision 227