GHSA-X6GV-2RVH-QMP6

GHSA-X6GV-2RVH-QMP6 is a critical-severity security vulnerability in m00nl1ght-dev/steam-workshop-deploy (actions), affecting versions < 4. It is fixed in 4, 2.0.0.

Summary

The steam-workshop-deploy github action does not exclude the .git directory when packaging content for deployment and provides no built-in way to do so. If a .git folder exists in the target directory (e.g., due to a local Git repo, custom project structure, or via the actions/checkout workflow), it is silently included in the output package. This results in leakage of sensitive repository metadata and potentially credentials, including github personal access tokens (PATs) embedded in .git/config.

Many game modding projects require packaging from the project root as the game expects certain files (assets, configuration, metadata) to be present at specific root-level paths. Consequently, the .git directory often exists alongside these required files and gets packaged unintentionally, especially when using actions/checkout.

While github hosted runners automatically revoke ephemeral credentials at the end of each job, the severity of this issue increases dramatically in other CI environments:

  • Self-hosted runners may store long-lived tokens or secrets.
  • Developers may maintain their own .git folders with embedded PATs or remotes tied to private repositories.
  • The workflow may run without the actions/checkout action, distributing the .git directory present on the running machine if it exists in the directory.

A real example of an affected mod can be found here: https://github.com/BoldestDungeon/wildermyth-drauven-pcs/security/advisories/GHSA-7j9v-72w9-ww6w

Details

Who is affected:

  • Any user of steam-workshop-deploy operating in an environment where .git exists in the packaging directory.
  • Any user of steam-workshop-deploy operating in an environment where the actions/checkout workflow is used and then the .git directory is inadvertently generated within the packaging directory (greatly reduced severity due to the ephemeral nature of github actions).

Impact

The severity of this issue for downstream components can range from 0.0 (no credentials, sensitive metadata, or private source code were present in the packaging directory) to 10.0 (extremely sensitive, high privilige credentials or source code from private repositories were exposed).

The actual severity depends primarily on the permissions, scope, and nature of the exposed data:

  • Low/none (0.0-3.9): Only non-sensitive repository metadata was exposed, no credentials were present, or only public facing code was included.
  • Medium(4.0-6.9): Credentials with limited repository access and/or short lifespan (e.g., ephemeral tokens) were exposed, or non-sensitive private code was disclosed.
  • High/critical (7.0-10.0): Long-lived tokens, organization-wide credentials, or credentials with administrative privileges were exposed, potentially enabling full repository compromise, secret extraction, code tampering, or the complete leak of private repository source code.

As such, each downstream consumer should independently assess their exposure by reviewing packaged artifacts for the presence of .git directories or other credentials, and evaluating both the sensitivity of any credentials found and the confidentiality of any included source code.

Consequences may include:

  • Unauthorized access to git repositories via exposed PATs.
  • Tampering with repository code or metadata.
  • Malicious CI behavior (triggering workflows, reading secrets).
  • Disclosure of commit history, remote origins, or other sensitive internal structure.

GHSA-X6GV-2RVH-QMP6 has a CVSS score of 10.0 (Critical). The vector is network-reachable, no privileges required, and no user interaction. A CVSS score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether this affects your application depends on whether the vulnerable code is present and reachable in your environment. A fixed version is available (4, 2.0.0); upgrading removes the vulnerable code path.

Affected versions

m00nl1ght-dev/steam-workshop-deploy (< 4) BoldestDungeon/steam-workshop-deploy (< 2.0.0)

Security releases

m00nl1ght-dev/steam-workshop-deploy → 4 (actions) BoldestDungeon/steam-workshop-deploy → 2.0.0 (actions)

Kodem intelligence

Severity tells you how bad this could be in the worst case. It does not tell you whether you are exposed. Exploitability and impact are functions of runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A vulnerable package can sit in your dependency tree and never run.

Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter. Kodem's runtime-powered SCA identifies whether this CVE is reachable in your applications.

See it in your environment

Remediation advice

This issue should be considered severe due to the potential exposure of sensitive tokens and repository metadata. Although most workflows that use steam-workshop-deploy also employ actions/checkout, which handles tokens and credentials more securely, there are legitimate use cases where actions/checkout is not used or where custom .git folders exist. Additionally, actions/checkout can accept a on-emphemeral tokens as a parameter for its workflow. In such cases, long-lived or sensitive credentials may be packaged and exposed, greatly increasing the risk of unauthorized access and repository compromise. Therefore, this issue should be considered severe regardless of common usage patterns.

Downstream:

  • Downstream components should revoke any credentials or PATs associated with workflows or repositories that use this github action

This Deployment Action

  • The action should exclude .git/ and other common sensitive file(s) by default from all packaging operations.
  • A deployignore or similar mechanism should be introduced to give users finer control of what files or directories are included for deployed artifacts

Frequently Asked Questions

  1. What is GHSA-X6GV-2RVH-QMP6? GHSA-X6GV-2RVH-QMP6 is a critical-severity security vulnerability in m00nl1ght-dev/steam-workshop-deploy (actions), affecting versions < 4. It is fixed in 4, 2.0.0.
  2. How severe is GHSA-X6GV-2RVH-QMP6? GHSA-X6GV-2RVH-QMP6 has a CVSS score of 10.0 (Critical). This score reflects the worst-case severity of the vulnerability, not your specific exposure. Whether it represents real risk in your environment depends on whether the vulnerable code is present and reachable.
  3. Which packages are affected by GHSA-X6GV-2RVH-QMP6?
    • m00nl1ght-dev/steam-workshop-deploy (actions) (versions < 4)
    • BoldestDungeon/steam-workshop-deploy (actions) (versions < 2.0.0)
  4. Is there a fix for GHSA-X6GV-2RVH-QMP6? Yes. GHSA-X6GV-2RVH-QMP6 is fixed in 4, 2.0.0. Upgrade to this version or later.
  5. Is GHSA-X6GV-2RVH-QMP6 exploitable, and should I be worried? Whether GHSA-X6GV-2RVH-QMP6 is exploitable in your environment depends on whether the vulnerable code is present and reachable. A CVSS score is a worst-case rating; it does not account for your specific deployment, configuration, or usage patterns. Kodem, an Intelligent Application Security platform, uses runtime intelligence to show which vulnerabilities actually execute in production, so you can focus on the ones that represent real risk. Get a demo
  6. What actually determines whether GHSA-X6GV-2RVH-QMP6 is exploitable, and how bad it is? Exploitability and impact are not fixed properties of a CVE. They depend on runtime truth: whether the vulnerable code is present, reachable, and actually executes in your application. A high CVSS score on a dependency that never runs is not the same as real risk. Kodem, an Intelligent Application Security platform, uses runtime intelligence to reveal which vulnerabilities actually execute in production, so teams prioritize the ones that genuinely matter.
  7. How do I fix GHSA-X6GV-2RVH-QMP6?
    • Upgrade m00nl1ght-dev/steam-workshop-deploy to 4 or later
    • Upgrade BoldestDungeon/steam-workshop-deploy to 2.0.0 or later

Other vulnerabilities in m00nl1ght-dev/steam-workshop-deploy

Stop the waste.
Protect your environment with Kodem.