Skip to content
Fencer Intel
medium 6.5

GHSA-6p2j-742g-835f json

actions-mkdocs: Command Injection via issue title in internal GitHub Actions workflow

published 7mo ago modified 7mo ago

cvss
6.5
version 3.1, GitHub
cisa kev
Not listed
not in CISA's catalog
epss
—
no score, EPSS covers CVEs only
public exploits
0
none known

Summary

### Summary

External input from `github.event.issue.title` is used unsafely in a shell command in `.github/workflows/release-candidate.yaml`, allowing command injection during workflow execution.

### Details

In `.github/workflows/release-candidate.yaml`, the issue title is interpolated directly into a shell command:

``` export VERSION=$(echo ${{ github.event.issue.title }} | sed -E 's/Release v?([0-9\.]*)/\1/g') ```

Because the issue title is attacker-controlled and is embedded directly into a shell command, shell metacharacters such as command substitution (`$()`) and command separators (`;`) can be interpreted by the shell.

Although the workflow checks that the title starts with `Release `, this condition can still be satisfied by a maliciously crafted input.

### PoC

1. Create or edit an issue with the following title:

``` Release v1.2.3 $(whoami) ```

2. Trigger the workflow that processes the issue.

3. Observe that the injected command is executed on the runner.

The workflow logs show that `$(whoami)` is evaluated and its output (`runner`) appears in the command result, confirming that attacker-controlled input is executed within the shell.

<img width="633" height="380" alt="스크린샷 2026-03-27 오후 8 33 43" src="https://github.com/user-attachments/assets/90b38dab-8c53-4a13-8302-158ac5acf051" />

### Impact

This vulnerability allows command injection in the GitHub Actions runner through attacker-controlled issue titles. An attacker may be able to execute arbitrary commands within the context of the affected workflow job.

Depending on the workflow configuration (such as permissions and available secrets), successful exploitation could lead to:

* Unauthorized command execution in the CI environment * Misuse of the `GITHUB_TOKEN` * Modification of repository state, release artifacts, or other workflow outputs

If the repository is public and allows untrusted users to create or reopen issues that trigger the workflow, this may be exploitable by external users.

This issue is limited to the repository's internal workflow configuration and does not directly affect downstream users of the published `actions-mkdocs` GitHub Action.

Patch / fix

  • github-actions Tiryoh/actions-mkdocs 0.25.0

Is GHSA-6p2j-742g-835f in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.

Check with Fencer

CVSS scores

assigned by version score vector
GitHub 3.1 6.5 CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:N

Affected packages

ecosystem package affected fixed in
github-actions Tiryoh/actions-mkdocs
<0.25.0
0.25.0

Classification

Weakness
  • CWE-77 Improper Neutralization of Special Elements used in a Command

References

Sources

Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.