Skip to main content
No exploitation reportedFix available

CVE-2023-52137

No exploitation reported by the sources we read.

  • Published2023-12-29
  • Fixed in17
  • WeaknessCWE-20 · CWE-77

Am I affected?

With a domain, we read the version its public headers and pages expose. A distribution build can carry the fix under an older number.

Description

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.

Timeline

dates in UTC
  1. 2023-12-2917:16CVE publishedNVD

Versions per branch

OSV · NVD
tj-actions/verify-changed-files
BranchAffectedFixed in
17.x< 1717
Tj-actions verify-changed-files
BranchAffectedFixed in
17.0< 17.0.017.0.0

as publishedRanges as NVD and OSV publish them; a distribution’s build can be fixed under an older number.

Fix

  1. Update tj-actions/verify-changed-files to 17

Advisories and patches

Detection

Nuclei template
none so far
ProjectDiscovery
Exploit-DB
no entry
Exploit-DB
Proof of concept
Metasploit modules
none listed
Metasploit Framework

Sources

  • CNACVSS 3.17.7known since 2026-10-23
  • NVDCVSS 3.18.8read 2026-10-23
  • CNAweakness (CWE)CWE-20known since 2026-10-23
  • NVDweakness (CWE)CWE-77read 2026-10-23
  • FIRST EPSSEPSS score2.6 %2026-11-08
  • OSVaffected packages—
  • GitHub AdvisoriesadvisoryHIGH2024-01-02

Identifiers

Technical details

CVSS v3 Vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Published
2023-12-29
Last Modified
2026-06-17
NVD status
Modified
GitHub Advisory
GHSA-ghm2-rq8q-wrhc

Frequently asked questions

What is CVE-2023-52137?

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.

Is CVE-2023-52137 actively exploited?

Active exploitation of CVE-2023-52137 has not been confirmed. Its EPSS score was 2.6% on 2026-11-08, the estimated probability of exploitation in the next 30 days.

What is the CVSS score for CVE-2023-52137?

CVE-2023-52137 has a CVSS v3 base score of 8.8 (HIGH severity), with vector string CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H.

Running tj-actions/verify-changed-files? Hear about its next vulnerability

Surveillance reads the versions in your stack — a domain, a lockfile or a list — checks each CVE against the ranges its sources publish, and alerts you when one you run is exploited or enters CISA KEV. A version it cannot read stays « version not verified ».

No credit card required · No monthly cap on website lookups · 250 API requests/month

Sources for this record