Security Digest · Critical advisory (no CVE assigned)
GHSA-f67f-hcr6-94mf: Zen-AI-Pentest has Shell Injection via untrusted issue title in ZenClaw Discord Integration workflow
Summary The ZenClaw Discord Integration GitHub Actions workflow is vulnerable to shell command injection.
CVSS 10.0 Critical GitHub-reviewed · critical
Should you act?
- Only if you depend on one of the packages below, directly or transitively, in a vulnerable version. Check your lockfile with
grep -rn 'uses: <owner>/<action>' .github/workflows. - No CVE has been assigned, so it will not appear in CVE-based scanners that ignore GitHub advisories.
npm audit,pip-auditand Dependabot do read GitHub advisories.
Affected packages
| Ecosystem | Package | Vulnerable | First fixed |
|---|---|---|---|
| GitHub Actions | SHAdd0WTAka/Zen-Ai-Pentest | <= 3.0.0 | none listed |
Details
Summary
The ZenClaw Discord Integration GitHub Actions workflow is vulnerable to shell command injection. The issue title field, controllable by any GitHub user, is interpolated directly into a run shell block via a GitHub Actions template expression. An attacker can craft an issue title containing a subshell expression that executes arbitrary commands on the runner during variable assignment, enabling exfiltration of the DISCORDWEBHOOKURL secret. The trigger requires no repository privileges.
Affected Component
File: .github/workflows/zenclaw-discord.yml Commit: 07e65c72656a8213fc9ece2b3f4fc719032cfc5d URL: https://github.com/SHAdd0WTAka/Zen-Ai-Pentest/blob/07e65c72656a8213fc9ece2b3f4fc719032cfc5d/.github/workflows/zenclaw-discord.yml Step: Prepare Notification Trigger: issues: [opened] — no repository privileges required
---
Description
In the Prepare Notification step, the issue title is assigned to a shell variable using direct GitHub Actions template interpolation inside a case block:
The GitHub Actions template engine resolves ${{ github.event.issue.title }} at workflow compilation time, embedding the raw issue title as literal text in the bash script before execution. The value is assigned inside a double-quoted string, which in bash evaluates subshell expressions of the form $(...) and backtick expressions ... at runtime.
CVSS: 10.0 (v3.1) CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:N
Sources and references
- GitHub Advisory GHSA-f67f-hcr6-94mf github.com
- github.com github.com
- github.com github.com
Critical GitHub Actions advisories · Today’s Security Digest