CVE-2026-58502: githubtoplanguages: Command Injection via Issue Title in Discord Notification Workflow
githubtoplanguages generates a user's top GitHub languages as an SVG. The .github/workflows/discord-issue.yml workflow runs when an issue is opened or closed and interpolates github.event.issue.title directly into the Bash assignment for ISSUETITLE before shell parsing. An issue title containing shell command-substitution syntax can therefore execute commands on the GitHub Actions runner before the title is included in the Discord notification sent through DISCORDWEBHOOK. Successful exploitation can manipulate or spoof trusted bot notifications and may expose the Discord webhook secret or other workflow environment data, depending on repository permissions. This issue is fixed by commit 6bf9c3a9cb66c937b9047ca266b3d02f2bb11027.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
.github/workflows/discord-issue.yml (GitHub Actions)to a version that resolves this vulnerability.Patch 6bf9c3a9cb66c937b9047ca266b3d02f2bb11027
Event History
Frequently Asked Questions
Who can realistically exploit this workflow?
Anyone able to open or close an issue with an attacker-controlled title can trigger the vulnerable workflow. Exploitation depends on the repository accepting issue events from that actor.
What is required for command execution?
The attacker must supply an issue title containing shell command-substitution syntax. The workflow interpolates that title into a Bash assignment before shell parsing, causing the runner to execute the substituted commands.
What could an attacker access or change after exploitation?
An attacker can manipulate or spoof the Discord notification generated by the workflow. Depending on repository permissions, commands may also expose the Discord webhook secret or other workflow environment data.
How can this be remediated?
Apply the fix in commit 6bf9c3a9cb66c937b9047ca266b3d02f2bb11027. If updating is not immediately possible, prevent untrusted users from triggering issue open or close events that invoke the Discord notification workflow.
How can I tell whether my repository is affected?
Review .github/workflows/discord-issue.yml for a Bash assignment that directly interpolates github.event.issue.title before shell parsing. Repositories using the vulnerable workflow revision prior to the referenced fix commit are affected.