GitHub Action tj-actions/verify-changed-files is vulnerable to command injection in output filenames
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Code execution
- Confidentiality · integrity · availability
- High · High · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · NVD. Fix status from CNA and GitHub. Impact type from CWE-77.
Summary
The [`tj-actions/verify-changed-files`](https://github.com/tj-actions/verify-changed-files) action allows for command injection in changed filenames, allowing an attacker to execute arbitrary code and potentially leak secrets. The [`verify-changed-files`](https://github.com/tj-actions/verify-changed-files) workflow returns the list of files changed within a workflow execution. This could potentially allow filenames that contain special characters such as `;` which can be used by an attacker to take over the [GitHub Runner](https://docs.github.com/en/actions/using-github-hosted-runners/about-github-hosted-runners) if the output value is used in a raw fashion (thus being directly replaced before execution) inside a `run` block. By running custom commands, an attacker may be able to steal secrets such as `GITHUB_TOKEN` if triggered on other events than `pull_request`. This has been patched in versions [17](https://github.com/tj-actions/verify-changed-files/releases/tag/v17) and [17.0.0](https://github.com/tj-actions/verify-changed-files/releases/tag/v17.0.0) by enabling `safe_output` by default and returning filename paths escaping special characters for bash environments.
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| tj-actions | verify-changed-files | before 17.0.0 | 17.0.0 | Patch available | CNA |
| — | tj-actions/verify-changed-files (GitHub Actions) | before 17 | 17 | Patch available | GHSA-ghm2-rq8q-wrhc |
- verify-changed-files Vendortj-actions Affected before 17.0.0 Fixed in 17.0.0 Patch available CNA
- tj-actions/verify-changed-files (GitHub Actions) Vendor— Affected before 17 Fixed in 17 Patch available GHSA-ghm2-rq8q-wrhc
CPE configurations NVD · 1
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:tj-actions:verify-changed-files:*:*:*:*:*:github:*:* | before 17.0.0 | Vulnerable | tj-actions |
- cpe:2.3:a:tj-actions:verify-changed-files:*:*:*:*:*:github:*:* Versions before 17.0.0 Vulnerable ·tj-actions
Remediation
- Fix · CNA verify-changed-files (tj-actions) Fixed in 17.0.0
- Fix · GHSA-ghm2-rq8q-wrhc tj-actions/verify-changed-files (GitHub Actions) Fixed in 17 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2023-52137
- 2026-10-03 Alias added: GHSA-ghm2-rq8q-wrhc
References
Patch 2
Sources
- CVE-2023-52137 · CVE Program
- CVE-2023-52137 · NVD
- FIRST EPSS
- GHSA-ghm2-rq8q-wrhc · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences