Impact
The vulnerability stems from an unchecked path traversal check in GitHub Enterprise Server that allows an attacker who can execute code inside the Dependabot updater container to write files to any location within a repository. Because the effective path used when creating a file is not validated, the attacker can supply a specially crafted dependency-file path that resolves to a location inside the .github/workflows/ directory. If a pull_request_target workflow or auto-merge is enabled for that repository, the injected workflow can run with the repository’s GitHub Actions secrets, giving the attacker full access to privileged credentials and the ability to execute arbitrary code. The flaw therefore escalates local code execution to remote code execution with the permissions granted to GitHub Actions runner.
Affected Systems
GitHub Enterprise Server versions older than 3.22 are affected. The issue was addressed in the following releases: 3.21.3, 3.20.5, 3.19.9, 3.18.12, and 3.17.18. Any installation running a version prior to those mitigated releases is vulnerable, regardless of the deployment size or configuration.
Risk and Exploitability
The CVSS score of 8.6 indicates a high severity flaw. The EPSS score of less than 1% suggests that the probability of exploitation is currently low, and the vulnerability is not listed in CISA’s KEV catalog. An attacker must first attain code execution inside the Dependabot container, which is a non-trivial prerequisite. Once achieved, the attacker can write arbitrary workflow files; the subsequent execution hinges on the repository’s use of pull_request_target workflows or auto-merge, which are common for pull‑request integration. Therefore, while the chance of exploitation is limited, the potential impact—credential theft and arbitrary code execution—remains substantial.
OpenCVE Enrichment